Exemplo n.º 1
0
  /**
   * 设置让浏览器弹出下载对话框的Header.
   *
   * @param fileName 下载后的文件名.
   */
  public static void setFileDownloadHeader(
      HttpServletRequest request, HttpServletResponse response, String fileName) {
    // 中文文件名支持
    String encodedfileName = null;
    // 替换空格,否则firefox下有空格文件名会被截断,其他浏览器会将空格替换成+号
    encodedfileName = fileName.trim().replaceAll(" ", "_");
    String agent = request.getHeader("User-Agent");
    boolean isMSIE = (agent != null && agent.toUpperCase().indexOf("MSIE") != -1);
    if (isMSIE) {
      encodedfileName = Encodes.urlEncode(fileName);
    } else {
      encodedfileName = new String(fileName.getBytes(), Charsets.ISO_8859_1);
    }

    response.setHeader(
        HttpHeaders.CONTENT_DISPOSITION, "attachment; filename=\"" + encodedfileName + "\"");
  }
Exemplo n.º 2
0
 /** 基于Base62编码的SecureRandom随机生成bytes. */
 public static String randomBase62(int length) {
   byte[] randomBytes = new byte[length];
   random.nextBytes(randomBytes);
   return Encodes.encodeBase62(randomBytes);
 }
Exemplo n.º 3
0
 /** 客户端对Http Basic验证的 Header进行编码. */
 public static String encodeHttpBasic(String userName, String password) {
   String encode = userName + ":" + password;
   return "Basic " + Encodes.encodeBase64(encode.getBytes());
 }
Exemplo n.º 4
0
 /**
  * 替换为手机识别的HTML,去掉样式及属性,保留回车。
  *
  * @param txt
  * @return
  */
 public static String toHtml(String txt) {
   if (txt == null) {
     return "";
   }
   return replace(replace(Encodes.escapeHtml(txt), "\n", "<br/>"), "\t", "&nbsp; &nbsp; ");
 }