这里我有一个表单,我有一个输入类型文件来上传我的文件上传按钮点击我需要将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;
}
}
答案 0 :(得分:0)
我认为你不需要提到localhost只是文件的路径会做。或者用localhost的IP替换它。
答案 1 :(得分:0)
抱歉,我没有错误,我在javascript中添加的名称不是我在web api中提供的名称。
我改变了,
file.append('tax_file', $('input[type=file]')[0].files[0]);
要
file.append('file', $('input[type=file]')[0].files[0]);
它有效。