我有一些代码,创建一个压缩文件的一些图像,然后紧接着,它试图下载文件。当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#">发布于 2018-02-19 18:23:35
我发现了问题。我正在将zip文件写入一个目录,然后尝试从另一个目录下载它。奇怪的是,我本来以为会有一条404没有找到的消息,但它基本上只是给了我一个空的压缩文件。不管怎样,问题都解决了。
发布于 2018-02-17 23:42:51
你的代码有几个问题。
首先,您的mime类型列表应该用分号
;来分隔,而不是用逗号,作为文档化的这里。
所以,而不是这个
<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>标记中存在一些严重的mime类型的过度杀伤。因为我真的不知道,我不能说你应该把他们中的任何一个都去掉。但是,我不确定你名单上有没有人可能和其他人有冲突?我个人只使用了application/x-zip-compressed,而且它似乎运行得很好。因此,底线可能是调整和实验,以找到什么是最好的。
祝你好运,希望这能帮上忙。
https://stackoverflow.com/questions/48835369
复制相似问题