現在、生成された各名前がフォームフィールドを介して渡される複数のファイルのアップロードに取り組んでいます。私が今抱えている問題は、動的フォームフィールドが必要になる複数のファイルをアップロードしているためです。
たとえば、単一の画像をアップロードする - 問題はありません
HTML
<input type="hidden" name="item-id" id="item-id" value="1234">
<input type="hidden" name="fileName" id="fileName" value="zeahgvyg">
テンプレート
"store_original": {
"robot": "/s3/store",
"use": [
":original"
],
"key": "xxxxxxxxxx",
"secret": "xxxxxxx",
"bucket": "mybucket",
"path": "${fields.item-id}/${fields.fileName}_original.${file.ext}"
},
ファイル パスの結果:
1234/zeahgvyg_original.jpg
現在、複数の画像をアップロードしています-現在問題が発生しています
ファイルの数はユーザーによって異なるため、JS を使用して確認し、フォーム フィールドに生成された名前を追加します。
JS
// fileuploaded : cat_thumbnail.jpg
// then process to get file basename
// fileName = cat_thumbnail
var fileGeneratedName = "newfilename";
var newInput = $("<input type='hidden' name='"+fileName+"' id='"+fileName+"' value='"+fileGeneratedName+"'/>");
$('#hiddenFileNames').append(newInput);
テンプレート
"store_original": {
"robot": "/s3/store",
"use": [
":original"
],
"key": "xxxxxxxxxx",
"secret": "xxxxxxx",
"bucket": "mybucket",
"path": "${fields.item-id}/${fields.${file.basename}}_original.${file.ext}"
},
明らかに機能しなかった行はこれです
"path": "${fields.item-id}/${fields.${file.basename}}_original.${file.ext}"
私の質問は、ファイル名に基づいてフォームフィールドをどのように呼び出すべきですか?
他の変数の参照: https://transloadit.com/docs#assembly-variables
${file.ext} and ${file.basename}