Чтобы дополнить ответ Дарина, я делал это прежде, чем использовать Ajax upload script ранее, и он работал довольно хорошо, и я думаю, что это самое легкое решение из тех, которые мы пробовали в то время.Он работает во всех браузерах и не нуждается ни в какой вспышке или серебристом свете.
Все, что вам нужно сделать, - это создать div так:
<div id="file-uploader"></div>
и инициализировать загрузчик следующим образом:
var uploader = new qq.FileUploader({
// pass the dom node (ex. $(selector)[0] for jQuery users)
element: document.getElementById('file-uploader'),
// path to server-side upload script
action: '/Home/UploadSingelFile'
});
Это должно дать вам параметр HttpPostedFile
, который вам нужен в вашем методе действия.Чтобы впоследствии обновить представление, вы можете использовать различные обратные вызовы, такие как:
onSubmit: function(id, fileName){},
onProgress: function(id, fileName, loaded, total){},
onComplete: function(id, fileName, responseJSON){},
onCancel: function(id, fileName){},
Обновление:
Чтобы получить загруженный файл на стороне ASP.NET MVC, вынужно сделать еще немного работы.См. Ответ на этот вопрос: MVC3 Valums Ajax File Upload .(кредит Дарину)