【发布时间】:2014-08-22 06:15:33
【问题描述】:
我想使用带有安全令牌的 ASP.NET Web API 将文件上传到服务器,并在 HTTPRequestMessage 中嵌入 CLR 对象。
我可以找到使用具有多部分内容类型的 Web API Async POST 文件的解决方案,但是没有解决方案可以使用带有标头令牌的自定义 HTTP 请求消息上传...
我正在使用下面的代码
public HttpResponseMessage UploadImportFile()
{
List<string> FileIdentifiers = new List<string>();
// Check if the request contains multipart/form-data.
if (!Request.Content.IsMimeMultipartContent())
{
throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
}
string root = ImportFileDirectory;
MultipartFormDataStreamProvider provider = new MultipartFormDataStreamProvider(root);
try
{
// Read the form data.
Request.Content.ReadAsMultipartAsync(provider);
foreach (MultipartFileData file in provider.FileData)
{
FileIdentifiers.Add(file.LocalFileName.Replace(root, "").Replace("BodyPart_", ""));
}
return Request.CreateResponse(HttpStatusCode.OK, new FileUploadResponseType(Ackowledgememt.Success, UtcDateTime.Now, null, version, FileIdentifiers));
}
catch (System.Exception e)
{
log.Error(e);
return Request.CreateErrorResponse(HttpStatusCode.InternalServerError, e);
}
}
【问题讨论】:
标签: asp.net-mvc rest asp.net-web-api