2

ドキュメントが圧縮されている場合、ファイルの名前を変更するのが困難です。すぐ下では、ドキュメントから文字列を取得し、置換して UUID ファイル名のドキュメントとして保存しようとしています。ファイルを圧縮したときに判読できるファイル名に変更してほしいです。どうすればいいですか?

<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機能していないようです...

編集済み: 実際に Ben Nadel ブログのチュートリアルに従っています。http://www.bennadel.com/blog/795-learning-coldfusion-8-cfzip-part-ii-zipping-files-and-directories-with-cfzipparam.htm

4

2 に答える 2

7

を使用して zip 内のファイルの名前を変更することはできませんcfzip
entrypath を指定cfzipparamすると、zip ファイル内にサブディレクトリのみが作成されます。
あなたの場合、「document.doc」という名前のサブディレクトリがzipファイル内に作成されます。zip 内のファイルの名前は、doc ファイルの生成中
に指定したものと同じになります。これを読んで下さいcffile

そのため、最初に必要に応じてファイルの名前を変更する必要があります。そして、それを圧縮して目的の結果を得ることができます。

于 2015-01-02T06:49:04.087 に答える
1

実際、このentrypath属性を使用すると、zip に含まれるファイルの名前を変更できます。

残念ながら、ColdFusion 11 にはバグ #3968971があり、これが機能しなくなったようです。

于 2015-06-18T16:15:42.770 に答える