0

現在、生成された各名前がフォームフィールドを介して渡される複数のファイルのアップロードに取り組んでいます。私が今抱えている問題は、動的フォームフィールドが必要になる複数のファイルをアップロードしているためです。

たとえば、単一の画像をアップロードする - 問題はありません

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}
4

1 に答える 1