1

ここで髪を引っ張っていますが、このコードが機能しない理由が本当にわかりません。<cffile action="write">ドキュメントをサーバーに置くために使用する必要があります。

ファイルをサーバーに書き込むために、コードを最小限に抑えましたが、それでも動きません。私が実行しているコードはこれです。

<cffile action = "write" 
        file = "test.txt"
        output = "Content"
>

サーバーでこのコードを実行しても、何もしません。画面にエラーメッセージは表示されませんが、サーバーにもファイルが表示されません。

しばらく探していて、思いついたのは絶対ファイルパスを書くことだけだったので、これも試してみました

<cffile action = "write" 
        file = "http://www.my_url.com/test.txt"
        output = "Content"
>

エラー メッセージが表示されますが (以下を参照)、このエラー メッセージを並べ替える方法を検索してもあまり役に立ちませんでした。

An error occurred when performing a file operation write on file 
http://www.my_url.com/test.txt.
The cause of this exception was: java.io.FileNotFoundException:  
http://www.my_url.com/test.txt.

これは自分の特権に問題があるのではないかと考えましたが、FileNotFound の最後に「アクセスが拒否されました」というエラーが表示されないため、どうすればよいか本当に迷っています。

この正確なサイトで私も使用しているので、それは二重に腹立たしい<cffile action="upload">です。

4

1 に答える 1

6

前述のようcffileに、サーバー ファイル システムでのみ動作します。そのため、URL ではなく、物理ファイル パスを使用する必要があります。また、ファイルが書き込まれる相対パスを使用する場合、ドキュメントには次のように記載されています。

「...(パス)GetTempDirectory 関数によって返される ColdFusion 一時ディレクトリへの相対パス。」

したがって、エラーが表示されなかった場合、ファイルは作成されていますが、予期した場所ではありません。この種の混乱を避けるために、絶対パスを使用してください。

    <cffile action="write" file="c:/path/to/test.txt" output="Content">
于 2012-08-23T14:32:22.723 に答える