2017-02-22 5 views
3

これらの2つのリンクは、ColdFusionでform.getPartsArray()を使用してアップロードされたファイルの名前を取得する機能を参照しています。しかし、ColdFusionのドキュメントは見つかりません。私はこれを使用したいと思いますが、非難されているか、そうでない場合は使用しないでください。誰にもこの機能の起源と運命に関する情報がありますか?Coldfusion Form.getPartsArray function

ColdFusion: get the name of a file before uploading

http://www.stillnetstudios.com/get-filename-before-calling-cffile/

+0

、第二の答えは、最初のものよりも良く見えます。 –

答えて

3

のColdFusion:あなたがしたい理由あなたはについて詳しく説明することができ、瞬間のためにメインの質問を無視

をアップロードする前に、ファイルの名前を取得これを使って?尋ねる理由は、最初の質問のタイトルは、そのメソッドが実際に何をしているかについて誤った印象を与えるかもしれません。 Form.getPartsArray()は、ファイルがアップロードされる前にファイル情報へのアクセスを提供しません。ファイルはすでにその時点でサーバー上に存在しているため、後のバージョンのCFでは(追加機能付きで)必ずしもcffile action=uploadを使用するだけでは購入できません。

この 機能の起源と運命に関する詳しい情報は誰にもありますか?しかし

は、あなたの他の質問に答えるために - それは私が最後にチェック文書化されていない機能です。フォームフィールドやアップロードに関する新しい機能の一部が欠けていた以前のバージョンのCFではより便利でした。

内部的には、ほとんどのフォームデータは標準要求オブジェクト(HttpServletRequest)を使用して処理できます。ただし、それらはマルチパートリクエスト、つまりファイルアップロードをサポートしていません。特別なハンドラが必要です。 Macromedia/Adob​​eは、内部実装にcom.oreilly.servletライブラリを使用することを選択しました。それはFORM.getPartsArray()を使用してアクセスしているものです。

O'Reillyの資料は、(少なくとも)CF8という優れた指標であるため、CFにバンドルされています。ただし、内部機能を使用すると、実装が変更され、アプリケーションが中断されるリスクが常に発生します。また、別のエンジンに移動した場合、そのコードはサポートされていない可能性があります。だから "あなたはお金を支払う、あなたはあなたの選択を取る"。最初のリンクの場合

CF8/Formスコープ

CF8 FORM.getPartsArray()

+0

名前を操作してファイルを保存するために、アップロードされたファイルのファイル名を取得するためにそれを使用します。 – dutchlab

+0

@dutchlab - 私の更新を参照してください。 'cffile'を使うだけの理由はありませんか? – Leigh

+0

私はcffileを使用していますが、ファイルの名前をデータベースに保存し、ファイルのpdfも作成しています。 cfset filename = form.fileuploadを使用すると、ColdFusionによって割り当てられたtmp名が使用されます。 getpartsを使用することで、ユーザーが入力した日付の値とファイルの名前を組み合わせて、新しいファイル名を作成することができます。それはとても簡単ですが、私はこの機能が動作しなくなる可能性を排除するためにcffileの結果を使って再作業します。 – dutchlab