2015-01-02 4 views
2

문서가 압축되었을 때 파일의 이름을 바꾸는 데 문제가 있습니다. 바로 아래에서 문서에서 문자열을 가져오고 UUID 파일 이름으로 문서로 바꾸고 저장하려고합니다. 나는 파일이 압축되었을 때 읽을 수있는 것으로 변경 될 파일의 ​​이름을 원한다. 내가 어떻게 해?cfzip을 사용하여 파일의 이름을 바꾸려면 어떻게합니까?

<cfset rtf = FileRead(filepathofdocument) /> 
<cfset rtf = Replace(rtf,"%newProdYN%",session.input.inputtext) /> 
<cfset rtf = Replace(rtf,"%ration%",session.input.inputtext2) /> 
<cfset cfdest = "#GetDirectoryFromPath(session.input.storage.destination)#/#CreateUUID()#.doc" /> 
<cffile action = "write" 
    file = "#cfdest#" 
    output = "#rtf#"> 
<cfzip action="zip" file="#getTempDirectory()#/#CreateUUID()#.zip"> 
<cfzipparam source="#cfdest#" entrypath="document.doc" /> 
<!-- More file sources to zip... --> 
</cfzip> 

cfzipparam 태그의 진입 경로가 작동하지 않는 것 ...

편집 : 나는 실제로 벤 나델 블로그로 튜토리얼을 따라했다. http://www.bennadel.com/blog/795-learning-coldfusion-8-cfzip-part-ii-zipping-files-and-directories-with-cfzipparam.htm

답변

7

을 사용하여 zip 파일의 이름을 바꿀 수 없습니다.
cfzipparam에 입력 경로를 제공하면 zip 파일 내에 하위 디렉토리 만 생성됩니다.
'document.doc'라는 하위 디렉토리가 zip 파일 내에 생성됩니다.
zip 파일의 이름은 doc 파일을 생성하는 동안 cffile에서 제공 한 것과 같습니다.
Please read this

그래서 파일의 이름을 원하는대로 바꿔야합니다. 그런 다음 원하는 결과를 얻기 위해 압축 할 수 있습니다.

+4

나의 upvote는 3 자리 숫자로 당신의 평판을 얻었습니다. 너 나 맥주 빚 졌어. –

+0

Dan이 맞습니다 .-) –

+0

@ DanBracuk 감사합니다. :-) – Pankaj

1

실제로, entrypath 속성을 사용하면 zip에 포함될 파일의 ​​이름을 바꿀 수 있습니다.

ColdFusion 11에는 불행히도 bug #3968971이있는 것으로 보입니다.

관련 문제