cfzip любой способ приостановить обработку страницы до завершения создания zip?
У меня есть некоторый код, который создает 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 ответа
Я нашел проблему. Я записывал zip-файл в один каталог, а затем пытался загрузить его из другого. Странно было то, что я ожидал, что сообщение 404 не найдено, но оно все равно просто доставило мне пустой zip-файл. В любом случае, проблема решена.
Пара проблем с вашим кодом.
Во-первых, ваш список 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>
тег. Поскольку я действительно не знаю, я не могу сказать, что вы должны удалить любой из них. Однако я не уверен, что кто-то из вашего списка может конфликтовать с другими? Я лично использовал толькоapplication/x-zip-compressed
и, кажется, работает просто отлично. Таким образом, суть, возможно, в настройке и эксперименте, чтобы найти то, что работает лучше всего
Удачи и надеюсь, что это поможет.