【发布时间】:2015-12-27 21:49:18
【问题描述】:
我正在开发一个与 WebApi .NET 项目通信的 Android 应用程序,以便从数据库中插入和获取日期,常见情况。 我尝试使用 Multipart MIME。所以我使用了以下代码:
public async Task<HttpResponseMessage> ManageProfilePicture()
{
if (!Request.Content.IsMimeMultipartContent())
{
throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
}
string root = HttpContext.Current.Server.MapPath("~/App_Data");
var provider = new MultipartFormDataStreamProvider(root);
var task = await Request.Content.ReadAsMultipartAsync(provider).
ContinueWith<HttpResponseMessage>(t =>
{
if (t.IsFaulted || t.IsCanceled)
{
Request.CreateErrorResponse(HttpStatusCode.InternalServerError, t.Exception);
}
String fileName = provider.FileData[0].Headers.ContentDisposition.FileName;
return Request.CreateResponse(HttpStatusCode.OK);
});
return task;
}
我可以获取上传文件的文件名和其他信息。如何获取与上传文件关联的字节数组以便将其保存在 MS SQL Server 中?也许在可访问的文件夹中重新创建图片比将其存储在数据库中更好......
有人可以帮我吗?
【问题讨论】:
-
不清楚您是否想知道如何将图像作为字节数组发送到 Web API 或如何将字节数组保存到 SQL Server 中。另外,提供一些您已经尝试过的代码。
-
上传图片我不会使用 JSON。使用多部分格式上传和base64对图片进行编码。尝试以直接 JSON 格式上传大量照片通常会破坏任何 JSON 解析器。至少那是我在网络上的经验。从来没有在安卓应用上做过。
-
@ThrowsException 谢谢你的回答,我已经更新了我的问题,因为我已经实现了多部分形式......你能给我一些建议吗?
标签: c# android asp.net-web-api encoding bytearray