【问题标题】:JQuery-File-Upload Save Path & FilenameJQuery-File-Upload 保存路径和文件名
【发布时间】:2014-06-14 20:53:22
【问题描述】:

我在我的 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 上实现呢?

【问题讨论】:

    标签: jquery asp.net-mvc asp.net-mvc-4 asp.net-mvc-5 jquery-file-upload


    【解决方案1】:

    这可能不是您的确切答案。但是,它可能会帮助您朝着正确的方向前进。

    我自己找不到直接的方法。所以我把用户表单分成了两部分。文件上传表单和其他用户数据表单。使用 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
    });
    

    注意:如果您不关心文件上传失败,那么您可以安全地移除 fileuploadfailfileuploadfailed 事件绑定并进行必要的更改。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-03-24
      • 1970-01-01
      • 2023-04-04
      • 1970-01-01
      • 2014-06-06
      • 1970-01-01
      • 1970-01-01
      • 2019-05-11
      相关资源
      最近更新 更多