【问题标题】:Trying to POST multipart/form-data by javascript to web api尝试通过 javascript 将 multipart/form-data 发布到 web api
【发布时间】:2017-08-10 06:35:48
【问题描述】:

这里我有一个表单,其中我有一个输入类型文件来上传我的文件,当点击上传按钮时我需要将 multipart/form-data 发布到 web api 我将文件上传到 Minio Server。我已经粘贴了我在下面使用的 javascript 和 web api。

当我在收到 500(内部服务器错误)后按下上传按钮时。请帮助我提出建议。

$("#upload").click(function () {
            var file = new FormData($('#uploadform')[0]);
            file.append('tax_file', $('input[type=file]')[0].files[0]);
            $.ajax({
                type: "POST",
                url: 'http://localhost:53094/api/values',
                data: file,
                //use contentType, processData for sure.
                contentType: "multipart/form-data",
                processData: false,
                beforeSend: function () {},
                success: function (msg) {
                    $(".modal .ajax_data").html("<pre>" + msg +
                        "</pre>");
                    $('#close').hide();
                },
                error: function () {
                    $(".modal .ajax_data").html(
                        "<pre>Sorry! Couldn't process your request.</pre>"
                    );  
                    $('#done').hide();
                }
            });
        });

[HttpPost]
    public string Post(IFormFile file)
    {
        try
            {
                var stream = file.OpenReadStream();
                var name = file.FileName;
                minio.PutObjectAsync("student-maarklist", "sample.jpeg", stream, file.Length);
                return "Success";
            }
            catch (Exception ex)
            {
                return ex.Message;
            }
    }

【问题讨论】:

    标签: javascript asp.net-web-api minio


    【解决方案1】:

    我认为您无需提及 localhost,只需文件的路径即可。或者用本地主机的IP替换它。

    【讨论】:

    • 但是对于 post 方法,我使用的是相同的 url。
    【解决方案2】:

    对不起,我没有记错,我在 javascript 中附加的名称没有保存为我在 web api 中提供的名称。

    我变了,

    file.append('tax_file', $('input[type=file]')[0].files[0]);
    

    file.append('file', $('input[type=file]')[0].files[0]);
    

    它奏效了。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-10-31
      • 2018-12-31
      • 2019-06-22
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-04-07
      • 2023-03-17
      相关资源
      最近更新 更多