为了账号安全,请及时绑定邮箱和手机立即绑定

使用 AJAX Post 将 Excel 文件传递​​到服务器

使用 AJAX Post 将 Excel 文件传递​​到服务器

当年话下 2023-09-18 15:26:19
我只是希望能够使用 html 输入类型=“文件”来选择 Excel 文件<input type="file" id="UploadedFile" name="UploadedFile" accept="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet">然后将所选文件传递回服务器 - 最好使用 AJAX post:    var serviceURL = appRoot + 'Register/ImportTasks'    $j.ajax({        type: "post",        url: serviceURL,        data: (??? Not sure how to present here ???),        contentType: "application/json; charset=utf-8",        dataType: "json",        success: successFunc,        error: errorFunc    });具体来说,我看不到如何将“文件”作为数据呈现给 AJAX 调用。    public void ImportTasks(DataType?? uploadedExcelFile)    {        ..... Doing stuff ...    }然后我不确定我应该告诉方法在调用它时期望什么参数数据类型?
查看完整描述

1 回答

?
宝慕林4294392

TA贡献2021条经验 获得超8个赞

这是一个基本示例。你应该使用FormData


     var formData = new FormData();

     var uploadFiles = document.getElementById('js-upload-files').files;

     this.formData.append("MyKey", uploadFiles[0]);


    $.ajax({

        type: "POST",

        url: 'Controller/Upload',

        data: formData,

        dataType: 'json',

        contentType: false,

        processData: false,

        complete: this.onComplete.bind(this)

    });

编辑


忘记控制器代码


    [HttpPost]

    public virtual BetterJsonResult Upload()

    {


        foreach (var fileKey in Request.Files)

        {

            ...Request.Files[fileKey.ToString()] //access it like this

        }


    }


查看完整回答
反对 回复 2023-09-18
  • 1 回答
  • 0 关注
  • 84 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信