Я создаю приложение для нашего офиса, которое позволяет аутентифицированным пользователям в офисе загружать файлы для клиентов, создает список ссылок для загрузки файлов и электронной почты клиента со списком ссылки.Ловушка ошибок на ColdFusion 9 принудительная загрузка страницы
Когда пользователь в офисе регистрируется, им назначается UUID в их области сеанса. Этот UUID становится именем каталога, в котором хранятся загруженные файлы.
Иногда мне нужно очистить старые файлы и удалить каталоги, но когда это произойдет, есть шанс, что клиент может попытаться перезагрузить файл из старой ссылки.
В ColdFusion 9 как я поймаю это и отправлю их на страницу с ошибкой? Я также надеюсь использовать аналогичный код для перенаправления пользователя после начала загрузки, поэтому они не просто сидят на пустой странице во время процесса загрузки.
Вот моя страница загрузки силы, которая принимает переменную имени папки и переменную имени файла, чтобы обслуживать файлы.
<cfset folder = #URL.folder#>
<cfset FileDownload = #URL.file#>
<cfset exten = ListLast(FileDownload, ".")>
<cfswitch expression="#exten#">
<cfcase value="zip"><cfset content_type = "application/zip, application/x-zip, application/x-zip-compressed, application/octet-stream, application/x-compress, application/x-compressed, multipart/x-zip"></cfcase>
<cfcase value="ai"><cfset content_type = "application/illustrator"></cfcase>
<cfcase value="eps"><cfset content_type = "application/illustrator, application/octect-stream"></cfcase>
<cfcase value="pdf"><cfset content_type = "application/pdf, application/x-pdf, application/acrobat, applications/vnd.pdf, text/pdf, text/x-pdf"></cfcase>
<cfcase value="psd"><cfset content_type = "image/photoshop, image/x-photoshop, image/psd, application/photoshop"></cfcase>
<cfcase value="jpg"><cfset content_type = "image/jpeg"></cfcase>
<cfcase value="png"><cfset content_type = "image/png"></cfcase>
<cfcase value="tif"><cfset content_type = "image/tiff"></cfcase>
<cfdefaultcase><cfset content_type = "image/jpeg"></cfdefaultcase>
</cfswitch>
<cfset fileToGetSizeOf = expandPath("./#folder#/#FileDownload#") />
<cfoutput><cfheader name="content-disposition" value="attachment;filename=#FileDownload#"><cfheader name="content-length" value="#getFileInfo(fileToGetSizeOf).size#" />
<cfcontent type="#content_type#" file="#ExpandPath("./#folder#")#/#FileDownload#" deletefile="#delete_file#"></cfoutput>
Это прекрасный процесс. – Ofeargall