首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用$.ajax和asp.net MVC发布FileReader对象

如何使用$.ajax和asp.net MVC发布FileReader对象
EN

Stack Overflow用户
提问于 2016-07-11 17:01:18
回答 0查看 1.2K关注 0票数 0

我想添加临时图像首先,然后提交我想添加所有这些图像到服务器。

这是我的班级

代码语言:javascript
复制
public class UserModel
{
     public int Id { get; set; }
     public string FirstName { get; set; }
     public List<AcademicDetailModel> AcademicDetails { get; set; } 
}

public class AcademicDetailModel 
{
     public int Id { get; set; }
     public int UserId { get; set; }
     public int CollegeId { get; set; }
     public HttpPostedFileBase DegreeFile { get; set; }
     public String DegreeFilePath { get; set; }
}

这是我的脚本

代码语言:javascript
复制
<script>
    var arrAcademicDetail = new Array();
    function AcademicDetailModel() {
        this.Id = 0;
        this.UserId = 0;
        this.CollegeId = 0;           
        this.DegreeFile=new FileReader();
    }
</script>

下面是我的click事件,它将临时图像添加到数组中。

代码语言:javascript
复制
$(document).ready(function () {
        $('#btnAcademic').click(function () {

             var _AcademicDetailModel = new AcademicDetailModel();
             _AcademicDetailModel.Id=(arrAcademicDetail.length)+1;
             _AcademicDetailModel.CollegeId = $('#CollegeId').val();                   

             if (window.File && window.FileReader && window.FileList && window.Blob) {
                 var file = document.getElementById("DegreeFilePath").files[0];
                 _AcademicDetailModel.DegreeFile=file;
                }


             arrAcademicDetail.push(_AcademicDetailModel);


        })
 })

下面是向服务器提交数据的最终提交事件。

代码语言:javascript
复制
$.ajax({
            url: '@Url.Action("AcademicDetail", "Home")',
            data: { "Model": {
                "Id":UserId,
                "AcademicDetails": arrAcademicDetail
            }},
            contentType: false,
            processData: false,
            type: 'POST',
            beforeSend: function () {
                DDU.blockUI({ message: "Please wait.." });
            },
            success: function (result) {
                var obj = $.parseJSON(result);
                //Other Process
            },
            complete: function () {
                DDU.unblockUI();

            },
            error: function () {
                DDU.unblockUI();
                bootbox.alert("Oops ! you caught an error.<br/><br/><b>Possible Reason</b> <br/>- Invalid data");      
            }
        });

这是我的行动

代码语言:javascript
复制
public ActionResult AcademicDetail(UserModel Model)
{
   try
   {
   }
   catch()
   {
   }
}

但是在这个操作中,我得到的是Model.AcademicDetails null。

EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38302955

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档