У меня есть этот кусок кода:
[AcceptVerbs("POST")]
[Route("api/doc/ImageUpload")]
public HttpResponseMessage ImageUpload()
{
try
{
if (!Request.Content.IsMimeMultipartContent())
{
throw new HttpResponseException(HttpStatusCode.UnsupportedMediaType);
}
string root = HttpContext.Current.Server.MapPath("~/imageUpload");
var provider = new MultipartFormDataStreamProvider(root);
Request.Content.ReadAsMultipartAsync(provider);
foreach (MultipartFileData file in provider.FileData)
{
if (string.IsNullOrEmpty(file.Headers.ContentDisposition.FileName))
{
return Request.CreateResponse(HttpStatusCode.NotAcceptable, "This request is not properly formatted");
}
string fileName = file.Headers.ContentDisposition.FileName;
if (fileName.StartsWith("\"") && fileName.EndsWith("\""))
{
fileName = fileName.Trim('"');
}
if (fileName.Contains(@"/") || fileName.Contains(@"\"))
{
fileName = Path.GetFileName(fileName);
}
using (FileStream stream = File.Open(file.LocalFileName, FileMode.Open, FileAccess.Read, FileShare.ReadWrite))
{
//do something
}
}
}
}
А этот Почтальон зовет:
Я вижу, что файл создается в папке:
* +1012 *
Но при попытке фактически использовать файл в файловом потоке и сохранить его как правильный jpeg или png, я получаю IOException. Также я замечаю, что сохраненный файл - 32 КБ, но файл, который я пытаюсь загрузить, - 120 КБ.