2017-04-17 9 views
0

でファイル]フィールドにアップロードされたファイルへのアクセス方法:AlpacaJS - 私は、次のスーパー基本的なファイルのフィールドを持つフォーム持ってハンドルバー

Schema-

"file_upload": { 
     "type": "string" 
} 

[オプション

"file_upload": { 
      "type": "file" 
    } 

Iを何とかアップロードされたファイルにアクセスしたいが、特にHandlebars.jsを使ってアクセスする。

通常のフィールド、"file_checkbox"はハンドルバーで{{file_checkbox}}を使用してレンダリングすることができますが、私はないフィギュアアウトがファイルにアクセスすることができますどのように言います。

基本的なjavascript(document.getElementById('fieldId').files)を使用すると、ファイルが予期したとおりにアップロードされていることがわかります。

しかし、アルパカフォーム($.alpaca($("#formDiv")).getValue())の値を取得しようとしているが、通常のフィールド(すなわちfile_checkbox)からのデータとファイルフィールドから何もが得られます。

アルパカフォームを送信すると、他のすべてのデータは正しく保存されますが、ファイルのフィールドには何もありません(空の/ nil値のフィールドの名前さえない)。

アルパカのウェブサイト、Github Issues、またはスタックのオーバーフローで何かを見つけられず、検索に長時間を費やしました。これは私の最初の質問ですので、私が提供できる追加情報があれば教えてください。

ありがとうございました! Stakoverflowへ

答えて

0

歓迎:)

アルパカと普通です、フォームデータオブジェクトに設定されたファイルの入力のためのデータが存在しないだろう、あなたはファイル(複数可)を設定する機能selectionHandlerを使用する必要があります選択(あなたはこのようなフォームデータをファイルまたはBase64のデータ)のいずれかを使用することができます。

"file-upload": { 
    "type": "file", 
    "selectionHandler": function(files, data) { 
     // files for multiple or use files[0] to get only one file 
     // and if you want to use base64 data you could use data 
     this.data = files; 
    } 
} 

そして、ここでは、私はこのことができます願ってのためfiddle、です!

まだ問題がある場合は教えてください。

ハッピーコーディング!

+0

クイックコメントvert3xありがとう!私もFILEフィールドとこの解決策に関するあなたの質問を見ていた。しかし、私のオプションのJSON内でJSを追加すると、フォームがクラッシュして保存できなくなってしまいます。私はJSONを処理している方法でなければなりません...もう一つの問題は、Handlebarsを使ってファイルにアクセスする方法ですが、フォームでファイルを保存できないと言っているのであれば、それはおそらく不可能です。残念なことにアップロードフィールドを使用することに固執する必要があります。再度、感謝します! – Max

関連する問題