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 и, кажется, работает просто отлично. Таким образом, суть, возможно, в настройке и эксперименте, чтобы найти то, что работает лучше всего

Удачи и надеюсь, что это поможет.

Другие вопросы по тегам