2014-02-14 7 views
3

Я хочу создать WEB API, который загружает файл с данного клиента на Azure. Для этого я знаю, что могу использовать класс, например: MultipartFormDataStreamProvider (не уверен, работает ли этот класс для Azure)Загрузка файлов в ASP.NET MVC Web api controller

Я хочу, чтобы этот API был доступен из различных приложений. Для начала простое приложение .NET. Но мой вопрос в том, могу ли я использовать тот же API для обработки загрузки файлов из приложения Android, приложения Windows 8 и т. Д.?

Если это невозможно, то для всех этих приложений требуется отдельный API?

Моя идея API заключается в том, что он может использоваться в различных приложениях для обеспечения требуемой функциональности. Но в этом случае классы, необходимые для загрузки файла, будут ограничивать его использование.

ответ

1

Web код Api загрузить изображение

[System.Web.Http.AcceptVerbs("POST")] 
     public async Task<object> AddAttachment() 
     { 
      if (!Request.Content.IsMimeMultipartContent("form-data")) 
      { 
       throw new HttpResponseException(Request.CreateResponse(HttpStatusCode.UnsupportedMediaType)); 
      } 

      NamedMultipartFormDataStreamProvider streamProvider = new NamedMultipartFormDataStreamProvider(
       HttpContext.Current.Server.MapPath("~/App_Data/")); 

      await Request.Content.ReadAsMultipartAsync(streamProvider); 
      string path = streamProvider.FileData.Select(entry => entry.LocalFileName).First(); 
      byte[] imgdata = System.IO.File.ReadAllBytes(path); 

      return new 
      { 
       FileNames = streamProvider.FileData.Select(entry => entry.LocalFileName), 

      }; 
     } 
+0

thanx для кода. Но у меня уже есть это. Мне нужно знать, будет ли это работать, когда я попытаюсь загрузить файл из приложения Android. –

+0

Я не пробовал, но думаю, что он будет работать – Nilesh

3

@nikhil Pinto: Веб-API ASP.NET позволяет создавать REST-веб-сервис, который может потребляться любым видом клиента, поддерживающего запроса HTTP. Я нашел эту статью здесь

http://hintdesk.com/android-upload-files-to-asp-net-web-api-service

очень хорошо, потому что это показывает, как мы можем назвать веб-сервис от различных клиентов. Просто проверьте это.

Смежные вопросы