为文件名,javascript添加前缀

时间:2015-07-30 12:09:22

标签: javascript jquery angularjs

我想在文件的文件名中添加一个前缀,在我发送到服务器之前,我有一个像这样的输入字段:

<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];

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;
});

或者你可以做类似的事情