gpt4 book ai didi

ajax - 将图像数据从 Ajax 发布到 WebAPI

转载 作者:行者123 更新时间:2023-12-02 05:02:50 25 4
gpt4 key购买 nike

我正在尝试使用我在此处找到的示例代码将图像数据传递给 Web API 方法 http://www.asp.net/web-api/overview/working-with-http/sending-html-form-data,-part-2我发现 MultipartFormDataStreamProvider.FileData 总是空的。为什么会这样?另外,这是正确的方法吗?有选择吗?我试图只传递一张图片。

召唤

var t = new FormData();
t.append('file-', file.id);
t.append('filename', file.name);
t.append('Size', file.size);

$.ajax({
url: sf.getServiceRoot('mySite') + "upload/PostFormData",
type: "POST",
data: t,
contentType: false,
processData: false,
beforeSend: sf.setModuleHeaders
}).done(function (response, status) {
alert(response);
}).fail(function (xhr, result, status) {
alert("error: " + result);
});

});

public async Task<HttpResponseMessage> PostFormData()
{
// Check if the request contains multipart/form-data.
if (!Request.Content.IsMimeMultipartContent())
{
throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
}

string root = HttpContext.Current.Server.MapPath("~/App_Data");
var provider = new MultipartFormDataStreamProvider(root);

try
{
// Read the form data.
await Request.Content.ReadAsMultipartAsync(provider);

// This illustrates how to get the file names.
foreach (MultipartFileData file in provider.FileData)
{
Trace.WriteLine(file.Headers.ContentDisposition.FileName);
Trace.WriteLine("Server file path: " + file.LocalFileName);
}
return Request.CreateResponse(HttpStatusCode.OK);
}
catch (System.Exception e)
{
return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e);
}
}

最佳答案

通过表单发布时我可以正确获取文件数据,

如示例所示@ WebAPI upload error. Expected end of MIME multipart stream. MIME multipart message is not complete

祝你好运,

关于ajax - 将图像数据从 Ajax 发布到 WebAPI,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14759804/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com