我目前正致力于上传多个文件,每个生成的名称都通过表单字段传递。 我现在遇到的问题是因为我上传了多个文件,我需要动态表单字段。
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}
答案 0 :(得分:1)
作为联合创始人,Transloadit在2014年12月15日推出了该功能。