我想在文件的文件名中添加前缀,在将其发送到服务器之前,我有一个如下所示的输入字段:
<input type="file" id="uploadControlId">
如果我这样做:
var element = document.getElementById("uploadControlId");
console.log('file: ' + element);
我得到输出:
file: [object HTMLInputElement]
我可以通过拆分元素来读取文件名,但由于该元素是一个 url,我不知道如何更改名称。
分割:
var element = document.getElementById("uploadControlId");
var elements = element.value.split("\\");
var fileName = parts[elements.length - 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;
});
或者你可以做类似的事情
关于javascript - 添加前缀到文件名,javascript,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31723412/