2017-03-24 9 views
1

マルチパスを使用してAndroidでRetrofitから送信するファイルを取得しましたが、私のサーバーでは.NETのC#を使用してRestful Serviceを構築しました。改造/ Android?Retrofit + Restful C#ファイルをアップロードする

サンプル:

[RoutePrefix("rest/files")] 
public class ReceiveImagesController : ApiController 
{ 
    [AcceptVerbs("POST")] 
    [Route("SendFiles")] 

    public string sendFiles() 
    { 
     string retorno = ""; 
     string path = "C:/temp"; 

     // byte[] Bytes = new byte[files.Inpu] 



     return retorno; 
    } 
} 

答えて

0

私のサンプルコードと私は私はあなたの問題はコードの下に解決すると思いますWEBAPI 2でファイルのアップロードを使用しています。

sing System; 
using System.Linq; 
using System.Net.Http; 
using System.Threading.Tasks; 
using System.Web.Http; 

namespace WebMvcTest.Controllers 
{ 
    [System.Web.Http.RoutePrefix("api/test")] 
    public class FileUploadController : ApiController 
    { 

     [System.Web.Http.Route("files")] 
     [System.Web.Http.HttpPost] 
     [ValidateMimeMultipartContentFilter] 
     public async Task<FileResult> UploadSingleFile() 
     { 
      var streamProvider = new MultipartMemoryStreamProvider(); 
      await Request.Content.ReadAsMultipartAsync(streamProvider); 

      string descriptionResult = string.Empty; 
      var description = 
       streamProvider.Contents.AsEnumerable() 
        .FirstOrDefault(T => T.Headers.ContentDisposition.Name == "\"description\""); 
      if (description != null) 
      { 
       descriptionResult = await description.ReadAsStringAsync(); 
      } 

      return new FileResult 
      { 
       FileNames = streamProvider.Contents.AsEnumerable().Select(T => T.Headers.ContentDisposition.FileName).ToArray(), 
       Names = streamProvider.Contents.AsEnumerable().Select(T => T.Headers.ContentDisposition.FileName).ToArray(), 
       ContentTypes = streamProvider.Contents.AsEnumerable().Where(T => T.Headers.ContentType != null).Select(T => T.Headers.ContentType.MediaType).ToArray(), 
       Description = descriptionResult, 
       CreatedTimestamp = DateTime.UtcNow, 
       UpdatedTimestamp = DateTime.UtcNow, 
      }; 
     } 
    } 
} 
関連する問題