`
feixingfei
  • 浏览: 45568 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论
  • calosteward: 感谢分享,我还找到了另一个也是可以用于c#的代码,是一个英文网 ...
    PDF合并

ie8,contentDisposition

 
阅读更多
在servlet中,HttpServletResponse有一个表明响应所包含内容类型的参数。对PDF文件而言,内容类型是application/pdf。如果servlet没有设置类型,web浏览器很难决定如何处理这个文件。
PDFServlet用下边的代码设置内容类型:
resp.setContentType("application/pdf");
Content-disposition
Content-disposition头提供给浏览器确定HTTP响应内容的信息。当浏览器读到这些头信息后,它能确定:
  • HTTP响应包含一个文件;
  • 包含在响应中的文件名;
  • 该文件是显示在浏览器主窗口中还是要用外部的应用查看;

  • RFC2183中有对Content-disposition头完整的解释。
    通过合适地设置Content-disposition的值,servlet能指示浏览器是“内嵌”显示文件还是把它当作附件处理。
    例1.内嵌显示一个文件
    Content-disposition:inline;filename=foobar.pdf
    例2.往response里附加一个文件
    Content-disposition:attachment;filename=foobar.pdf

    在ie8中,contentDisposition最好赋值
    ///////////////from http://www.faqs.org/rfcs/rfc2183.html//////////////
    2.1 The Inline Disposition Type

    A bodypart should be marked `inline' if it is intended to be
    displayed automatically upon display of the message. Inline
    bodyparts should be presented in the order in which they occur,
    subject to the normal semantics of multipart messages.

    2.2 The Attachment Disposition Type

    Bodyparts can be designated `attachment' to indicate that they are
    separate from the main body of the mail message, and that their
    display should not be automatic, but contingent upon some further
    action of the user. The MUA might instead present the user of a
    bitmap terminal with an iconic representation of the attachments, or,
    on character terminals, with a list of attachments from which the
    user could select for viewing or storage.
    //////////////////////////////////////////////////////////////////////

    分享到:
    评论

    相关推荐

      ContentDisposition.rar_Java编程_Java_

      Object contentDisposition = message.getHeader("Content-Disposition", "UTF-8"); if (contentDisposition instanceof ContentDisposition) { ContentDisposition cd = (ContentDisposition) contentDisposition;...

      如何用Response.Redirect方法传递汉字

      例如,默认情况下,ASP.NET应用程序采用的是UTF-8编码格式,而客户端(如浏览器)可能使用其他编码格式,如GB2312等。 #### 二、解决方案 为了确保汉字能被正确传递,可以采取以下几种方式: ##### 1. 使用...

      Struts2 下载文件不同浏览器兼容问题.doc

      这段代码检查用户代理字符串,如果检测到是IE浏览器,就使用URLEncoder对文件名进行UTF-8编码,并设置到`Content-Disposition`头中。 然而,非IE浏览器,如Chrome、Firefox等,它们可能不接受这种编码方式,而是更...

      Struts Updownload 源码

      this.fileName = new String(fileName.getBytes("ISO-8859-1"),"UTF-8"); } public String getContentDisposition() { return contentDisposition; } public void setContentDisposition(String ...

      struts2 中文文件名文件下载

      ContentDisposition contentDisposition = ContentDisposition.type("attachment") .filename(fileName).build(); response.setHeader("Content-Disposition", contentDisposition.toString()); // 读取文件内容...

      action下载

      通过上述详细的分析和代码示例,我们可以看到在Struts2框架下实现文件下载,尤其是解决中文文件名乱码问题,需要细致地配置`contentType`、`inputName`、`contentDisposition`和`bufferSize`等属性,并且在Action类...

      content-disposition:创建并解析HTTP Content-Disposition标头

      内容倾向 创建并解析HTTP Content-Disposition标头安装$ npm install content-dispositionAPI var contentDisposition = require ( 'content-disposition' )contentDisposition(文件名,选项) 使用给定的文件名...

      struts2.2.1文件下载及中文乱码问题解决.pdf

      filename*=UTF-8''${fileName}`,其中`${fileName}`应先进行URL编码。 总的来说,处理Struts2文件下载时的中文乱码问题,关键在于正确设置HTTP响应头,尤其是`contentType`和`contentDisposition`,并确保文件名的...

      Opensmtp1.11.0解决附件乱码问题

      attachment.ContentDisposition.FileName = "附件名称"; attachment.ContentEncoding = System.Text.UTF8Encoding.UTF8; message.Attachments.Add(attachment); } SmtpClient smtp = new SmtpClient("smtp服务器...

      Struts 2中实现文件下载

      `stream`类型的结果用于处理文件下载,它可以设置文件的`contentType`、`inputName`(即Action中获取输入流的属性名称)、`contentDisposition`(定义如何在浏览器中显示文件,如作为附件下载)以及`bufferSize`(每次...

      je22中乱码问题

      finalResultConfig.addParam("contentDisposition", "attachment;filename=" + name); // 先将文件名转换为UTF-8编码,再转换为ISO-8859-1编码 name = new String(name.getBytes("UTF-8"), "ISO-8859-1"); ``` ...

      welogic struts2文件下载中文件名乱码:在tomcat中是好的哦

      downFileName = URLEncoder.encode(new String(downFileName.getBytes("ISO-8859-1"), "UTF-8"), "UTF-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } return downFileName; } ``` ...

      c#数据采集

      var contentDisposition = response.Content.Headers.ContentDisposition; if (contentDisposition != null && !string.IsNullOrEmpty(contentDisposition.FileName)) { var widthAndHeight = ...

      java文件下载

      例如,在`contentDisposition`中使用`charset=ISO8859-1`或`charset=UTF-8`取决于具体的文件名编码方式。此外,`getDownloadFileName()`方法中的文件名编码也需与`contentDisposition`中的设置保持一致,以避免因...

      Struts2中实现文件下载(修正中文问题).pdf

      在`FileDownloadAction2`类中,`getDownloadFileName()`方法需要将中文文件名转换为符合HTTP协议的编码格式,通常是采用`URLEncoder.encode(fileName, "UTF-8")`来编码。这样,浏览器接收到的文件名将是正确编码的,...

      打包批量下载

      <param name="contentDisposition">attachment;filename=${fileName} ``` 这里定义了一个名为`download`的Action,执行方法为`execute`。 2. **创建Action类**: 创建一个Java类,如`DownloadAction`,继承自`...

      C# winform上传照片到服务器

      fileContent.Headers.ContentDisposition = new ContentDispositionHeaderValue("attachment") { FileName = "newFileName.jpg" // 修改照片名字的地方 }; content.Add(fileContent); var response = await ...

      struts2 文件上传与下载

      在Java中,使用`new String(file.getName().getBytes("ISO-8859-1"), "UTF-8")`可以将文件名从ISO-8859-1编码转换为UTF-8,以支持中文字符。 对于文件下载,Struts2提供了`StreamResult`,它可以从流中获取数据并发...

      elm.txt

      - **示例**:程序支持 `base64`、`quoted-printable`、`8bit` 和 `7bit` 编码方式。根据不同的编码方式,程序采用不同的方法解码数据。 ### 4. 具体实现细节 - **字段初始化**:`Attachment` 类包含多个私有字段,...

      基于servlet的简易文件上传(带进度条)

      return contentDisposition.substring(contentDisposition.indexOf('=') + 1).trim().replace("\"", ""); } } return null; } } ``` 请注意,这只是一个基本示例,实际项目中还需要考虑错误处理、文件大小限制...

    Global site tag (gtag.js) - Google Analytics