2014-04-24 34 views
5

Tôi đang sử dụng plugin Tải lên tệp jQuery https://github.com/blueimp/jQuery-File-Upload/wiki để tải nhiều tệp lên máy chủ. Tôi sẽ sử dụng nó với một dịch vụ web tùy chỉnh sẽ lưu trữ các hình ảnh được tải lên trên máy chủ. Tuy nhiên, bên cạnh cơ thể yêu cầu POST, tôi cũng sẽ cần chuyển đến dịch vụ web tên của tệp đang được tải lên. Vì vậy, với mỗi lần truyền tệp, tôi cũng sẽ cần chuyển đến dịch vụ web tên của tệp. Ai có thể cho tôi biết làm thế nào tôi có thể lấy tên tập tin và gửi nó với mỗi yêu cầu tải lên? Về cơ bản tôi sẽ cần lấy nó từ hiện trường mà không cần thêm bất kỳ trường nhập nào. Nếu người dùng chọn 10 tệp, tôi sẽ cần lấy tên cho từng tệp trong hàng đợi và gửi tệp đó cùng với yêu cầu tải lên.Tải tên tệp tải lên trước khi tải lên bằng plugin Tải lên tệp jQuery

Cảm ơn.

Trả lời

11

Ok, đây là giải pháp mà các công trình:

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

Tôi không có ý tưởng về những loại dịch vụ web trang web của bạn sử dụng, cho phép Resume đó là ashx, nếu mà bạn có thể sử dụng

HttpPostedFile file = context.Request.Files["Filedata"]; 

để lấy tên tập tin;

hoặc sử dụng 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); 
    }); 
} 

});

+0

tôi cần để có được tên file về phía khách hàng và nộp cùng với các yêu cầu POST của tập tin tải lên. – cycero

+2

Tôi không sử dụng uploadify - tùy thuộc vào Flash. Tôi đang sử dụng https://github.com/blueimp/jQuery-File-Upload/wiki – cycero

+0

https://github.com/blueimp/jQuery-File-Upload/wiki/API#callbacks có câu trả lời như uploadify – TechStone

2
var filename = $('input[type=file]').val().split('\\').pop();