使用表单字段名称的汇编变量基于Transloadit中的文件名

时间:2014-12-12 17:56:38

标签: transloadit

我目前正致力于上传多个文件,每个生成的名称都通过表单字段传递。 我现在遇到的问题是因为我上传了多个文件,我需要动态表单字段。

e.g。 上传单张图片 - 我没有遇到麻烦

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}

1 个答案:

答案 0 :(得分:1)

作为联合创始人,Transloadit在2014年12月15日推出了该功能。