CFFILE Action="Upload" のファイルサイズ (100 MB としましょう) を制限する共有ホスティング サーバーを使用しています。私のコードはすべてのアップロードの 99% で機能しますが、100 MB を超えるファイルでは、使用することをお勧めします。 FTP。
CFFTP が機能するには、ローカル パス名 (つまり、「c:\myFiles\fileToUpload.mpg」) が必要ですが、フォーム フィールドをダンプする場合、CFFORM ENCYTYPE="multipart/form-data" を使用しているため、サーバー上に .tmp としてリストされます。ENCTYPE の指定を削除すると、ローカル パス名が取得されます。
私の目標は、ファイルサイズが 100 MB をシームレスに超えた場合に CFFTP に切り替えることです。ENCTYPE が "multipart/form-data" に設定されている場合、ローカル パス名を抽出することは可能ですか?
または、CFFTP と CFFILE をこのように機能させる他の方法はありますか?
これは、私がどのように動作するかを抽象化したものです。
<!--- perform actions --->
<cfif isdefined("FORM.fileToUpload")>
<cfif fileSizeInMB(FORM.fileToUpload) < 100>
<cffile action="upload" blah blah>
<cfelse>
<cfftp action="putfile" blah blah>
</cfif>
</cfif>
<!--- show page --->
<cfform action="#CGI.SCRIPT_NAME#" method="post" enctype="multipart/form-data">
<input type="file" name="fileToUpload" />
<input type="submit" />
</cfform>
どんな助けでも大歓迎です!