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

1

作为联合创始人,Transloadit 在 2014 年 12 月 15 日推出了您所描述的功能。

于 2014-12-17T15:21:47.927 回答