2011-02-09 12 views
2

いくつかの調査を行った後、これがうまくいくはずですが、ファイルをImagesディレクトリに保存していないと思います。ColdFusionでサーバーにファイルを保存する

<cfform name="uploadImgForm" method="post" action="#CGI.PATH_INFO#?#CGI.QUERY_STRING#" enctype="multipart/form-data"> 
    <input name="txtImg" type="file" /> 
    <input name="btnSubmit" type="submit" /> 
</cfform> 
<cfif isDefined("Form.txtImg")> 
    <cffile action="upload" 
     fileField = "txtImg" 
     destination="/Images" 
     accept="image/jpeg" 
     nameconflict="makeunique"> 
</cfif> 

私はいくつかの検証を行うことを予定していますが、私はこの単純な例をまず取り上げたいと思います。

私は、アップロードする前にファイルの名前を変更しようとするときに便利である。この後に出くわした: Adobe link

答えて

5

宛先はフルパスでなければなりません。それ以外の場合は、ColdFusionの一時ディレクトリを基準にしたディレクトリに送信されます。

これを試してみてください:

<cfset destination = expandPath("Images") /> 

<cffile action="upload" 
    fileField = "txtImg" 
    destination="#destination#" 
    accept="image/jpeg" 
    nameconflict="makeunique"> 
+0

これは私にエラーを与え、 ) –

+0

+1全体の一時ディレクトリのものは、いつも私にとって謎の肉のように思えました。 – orangepips

0

は、すべてのエラー・メッセージがありますか?または、投稿した後、フォームをもう一度取得しますか?

まず、/ ImagesディレクトリはデフォルトのCFの一時ディレクトリの下にありますか?

第2に、ブラウザが奇妙なMIMEタイプを送信した場合に備えて、CFFILEの「受け入れ」引数を取り除くことを試みてください。

+0

私はちょうどもう一度フォームを取得します。私はあなたがdef tempディレクトリの意味を知りません。私は/ Imagesがフォルダ名になることを仮定していました。イメージはルートにあります。 –

+0

あなたはどのOSですか? Windows、OSX、またはLinux? –

+0

ウィンドウ。私はいくつかの偽のパスを入力し、これを使用しようとしているパス(C:\ ColdFusion8 \ runtime \ servers \ coldfusion \ SERVER-INF \ temp \ wwwroot-tmp)として取得しました。 –

関連する問題