Blueimp 文件上传在提交时将 JSON 对象发送到控制器

本文关键字:对象 JSON 控制器 文件 提交 Blueimp | 更新日期: 2023-09-27 18:30:31

这是我在这里的第一个问题,所以请温柔一点...我有一个 cshtml(ASP.NET MVC 5)页面,我想在其中将文档上传到我已经存储到 json 中的某些行(在页面上的 dataTable 中)。json 如下所示:

杰森:

var jsonDataIds = [
{"Id":"9f835451-14ba-e511-a63e-643150188f7f",.. more data},
{"Id":"a0835451-14ba-e511-a63e-643150188f7f",.. more data},
{"Id":"a1835451-14ba-e511-a63e-643150188f7f",.. more data}];

我正在使用 blueimp 文件上传来处理文件上传。

以下是初始化我页面中元素的脚本:

Javascript:

$("#inFile").fileupload({
            url: 'attachFile',
            dataType: 'json',
            formData: {ecId:jsonDataIds,usrId:"@User.GetId()"},
            add: function(e, data) {
                fileData = data;
            },
            done: function(event, data) {
                alert(data.message);
            },
            fail: function(event, data) {
                alert("Error uploading the file.");
            }
        });
        $("#btnUpload").on('click', function() {
            if(fileData){
                fileData.submit();
            }
        });

当我签入控制器attachFile时,收到了usrId,收到了文件,但没有收到 ID。

我认为可能存在一个限制,即您只能发送字符串而不能发送 json 对象。

控制器:(部分)

    public ActionResult attachFile(List<MyModel> ecId, string modUsrId) 
// modUsrId is ok, ecId is NULL
            {
                for (int i = 0; i < Request.Files.Count; i++) 
// Request.Files.Count is ok

Blueimp 文件上传在提交时将 JSON 对象发送到控制器

"

Issue"已通过将 json 对象作为字符串发送,然后在控制器端序列化来修复。