我想在文件的文件名中添加一个前缀,在我发送到服务器之前,我有一个像这样的输入字段:
<input type="file" id="uploadControlId">
如果我这样做:
var element = document.getElementById("uploadControlId");
console.log('file: ' + element);
我得到了输出:
file: [object HTMLInputElement]
我可以通过拆分元素来读取文件名,但由于该元素是一个网址,我不知道如何更改名称。
分裂:
var element = document.getElementById("uploadControlId");
var elements = element.value.split("\\");
var fileName = parts[elements.length - 1];
答案 0 :(得分:1)
由于安全原因,您无法更改文件输入的值。您可以使用自己的AJAX脚本发布具有其他名称的文件,但不使用标准浏览器/表单功能。在你的情况下,有一个简单的解决方案,只需添加一个隐藏的字段,并通过此字段传递名称。该提交的价值可以在提交时设定。
<input id="uploadControlId" type="file" >
<input id="uploadFilename" type="hidden" value="">
有一个标签jquery,所以我将使用jquery
$('#yourFormId').submit(function(){
var filename = "prefix_" + $($("#uploadControlId").val().split("\\")).last();
$('#uploadFilename').val(filename);
return true;
});
或者你可以做类似的事情