나는 클라이언트를 위해 이것을했다. 나는 많은 문서를 모으고 그들을 다운로드 압축합니다. 스트림을 스트리밍하지 않고 서버에 zip 파일을 저장합니다.
<cfzip action="zip" file="#expandpath('/data/briefcase/')##session.order_id#.zip" source="#expandpath('/data/briefcase/')##session.order_id#" overwrite="yes" storepath="no">
그런 다음 사용자에게 파일 다운로드 링크를 제공합니다. 그렇게하면 실패 할 경우 항상 다시 시도 할 수 있습니다.
그런 다음 매일 실행되는 예약 된 작업을 작성하고 24 시간이 넘은 모든 zip 파일을 삭제합니다. 많은 데이터를 예상하는 방법을 브라우저에 지시
<cfheader name="Content-Length" value="#GetFileInfo('C:\Test.zip').size#">
: 당신의 코드를 씁니다 도움이된다면
<cfdirectory action="list" directory="#expandpath('/data/briefcase/')#" name="filelist" >
<cfquery name="filter_file" dbtype="query" >
SELECT * from filelist WHERE datelastmodified < #dateadd("h", -48, now())# AND type = 'File'
</cfquery>
<cfquery name="filter_dir" dbtype="query" >
SELECT * from filelist WHERE datelastmodified < #dateadd("h", -48, now())# AND type = 'Dir'
</cfquery>
<cfset path = expandpath('/data/briefcase/')>
<cfoutput query="filter_file">
<cfif fileexists('#directory#/#name#')>
<cffile action="delete" file="#directory#/#name#" >
</cfif>
</cfoutput>
<cfoutput query="filter_dir">
<cfif directoryexists('#directory#/#name#')>
<cfdirectory action="delete" directory="#directory#/#name#" recurse="true" >
</cfif>
</cfoutput>
15MB를 원하셨습니까? 공유/호스트 환경을 사용하고 있습니까? ColdFusion에서 사용하는 웹 서버는 무엇입니까? –
webspace에 파일을 넣고 cfcontent없이 domain/test.zip을 사용하여 테스트를 다운로드 했습니까? – Travis
Apache를 사용하는 경우 mod_xsendfile을 고려해 볼 수도 있습니다. – Henry