我正在使用jQuery文件上传插件https://github.com/blueimp/jQuery-File-Upload/wiki将多个文件上传到服务器。我将使用自定义Web服务将上传的图像存储在服务器上。但是,除了POST请求主体之外,我还需要将正在上载的文件的名称传递给Web服务。因此,对于每个文件传输,我还需要将该文件的名称传递给Web服务。有人能告诉我如何获取文件名并将其与每次上传请求一起发送?我基本上需要从现场获取它,没有任何额外的输入字段。如果用户选择了10个文件,我需要为队列中的每个文件取名,并使用上传请求提交。
感谢。
答案 0 :(得分:12)
好的,这是有效的解决方案:
// Storing the file name in the queue
var fileName = "";
// On file add assigning the name of that file to the variable to pass to the web service
$('#fileupload').bind('fileuploadadd', function (e, data) {
$.each(data.files, function (index, file) {
fileName = file.name;
});
});
// On file upload submit - assigning the file name value to the form data
$('#fileupload').bind('fileuploadsubmit', function (e, data) {
data.formData = {"file" : fileName};
});
答案 1 :(得分:2)
var filename = $('input[type=file]').val().split('\\').pop();
答案 2 :(得分:1)
我不知道您的网站使用什么类型的网络服务,简历是ashx,如果是这样的话 你可以用
HttpPostedFile file = context.Request.Files["Filedata"];
获取文件名;
或使用jquery
$("#yourid").uploadify({
.....
'onSelect': function(e, queueId, fileObj)
{
alert( "FileName:" + fileObj.name);
}
});
// jquery-file-upload
$('#fileupload').fileupload({
drop: function (e, data) {
$.each(data.files, function (index, file) {
alert('Dropped file: ' + file.name);
});
},
change: function (e, data) {
$.each(data.files, function (index, file) {
alert('Selected file: ' + file.name);
});
}
});