我在我的MVC 5.1项目(VS 2013)上安装了Demo JQuery File Upload by blueimp with Backload MVC 4。如何获取上传文件的路径和文件名?我想在数据库中保存路径和文件名。
删除已上传的文件时我也遇到问题,这已在SO上提出,但尚无响应。我有错误:
DELETE http://localhost:58082/Backload/UploadHandler
当我在MVC 4(VS2012)上创建另一个项目时,这不会发生。它可以删除文件。 JQuery-File-Upload是否与MVC 5兼容?在发行说明中,表示它是为MVC 4开发的。那么如何在MVC 5上实现呢?
答案 0 :(得分:0)
这可能不是您的确切答案。但是,它可以帮助您找到正确的方向。
我自己找不到直接方法。所以我将用户表单分为两部分。文件上传表单和其他用户数据表单。使用css很容易让用户感觉它继续形成。
我首先上传文件并读取文件名。这是因为例如如果您上传ten.png
并且如果目标文件夹中存在,则文件上传插件会将其重命名为ten (1).png
。因此,对我而言,获取真实文件名以保存在DB中非常重要。
现在,当文件上传时,我得到的文件名如下:
var failed = false;
var tempfiles = new Array();
$('#fileForm').bind('fileuploaddone', function(e, data) {
var obj = $.parseJSON(data.jqXHR.responseText);
for (var ind in obj.files)
tempfiles.push(obj.files[ind].name);
})
.bind('fileuploadfailed', function(e, data) {
console.log('upload FileUpload failed !!');
failed = true;
})
.bind('fileuploadfail', function(e, data) {
console.log('upload FileUpload failed !!');
failed = true;
})
.bind('fileuploadstopped', function(e) { // called when all files finish uploading
if (tempfiles.length == 0)
failed = true;
if(failed){
// deal with failed file uploads
}
console.log( tempfiles ); // this should contain all file names
});
注意:如果您不关心文件上传失败,那么您可以安全地删除fileuploadfail
和fileuploadfailed
事件绑定并进行必要的更改。< / p>