cfzip任何方式暂停页面处理,直到zip创建完成?

时间:2018-02-16 21:51:15

标签: coldfusion cfzip

我有一些代码可以创建一些图像的zip文件,然后在该代码之后尝试下载该文件。当zip文件非常小时,这样可以正常工作,但是当它变大时,它会尝试在文件实际完成之前下载文件。

这样的事情

<CFZIP code here>

<cfset TheFileName = "#ReReplace(GetImage.ItemNum, " ", "-", "ALL")#.zip">

<cfheader name="Content-disposition" value="attachment;filename=#TheFileName#">
<cfcontent type="application/zip, application/x-zip, application/x-zip-compressed, application/octet-stream, application/x-compress, application/x-compressed, multipart/x-zip" file="#APPLICATION.ProductImageDirectory#\full-brands\#TheFileName#">

2 个答案:

答案 0 :(得分:0)

您的代码存在一些问题。

  

首先,您的mime类型列表应以分号;分隔,而不是记录为here的逗号,

所以不是这个

<cfcontent type="application/zip, application/x-zip, application/x-zip-compressed, application/octet-stream, application/x-compress, application/x-compressed, multipart/x-zip" file="#APPLICATION.ProductImageDirectory#\full-brands\#TheFileName#">

你应该把它改成这个

<cfcontent type="application/zip; application/x-zip; application/x-zip-compressed; application/octet-stream; application/x-compress; application/x-compressed; multipart/x-zip" file="#APPLICATION.ProductImageDirectory#\full-brands\#TheFileName#">
  

其次,虽然这可能不是一个问题,但似乎你的<cfcontent>标签中有一些严重的哑剧类型矫枉过正。既然我不知道,我真的不能说你应该删除它们中的任何一个。但是,我不确定您的列表中是否有任何内容可能与其他人发生冲突?我个人仅使用application/x-zip-compressed而且似乎工作得很好。因此,底线可能是调整并尝试找到最有效的方法。

祝你好运,希望这会有所帮助。

答案 1 :(得分:-1)

我发现了这个问题。我正在将zip文件写入一个目录,然后尝试从另一个目录下载。奇怪的是我本来期望404找不到消息,但它基本上只是给了我一个空的zip文件。无论哪种方式,问题都解决了。