2016-07-18 10 views
0

ここでは、一度に1つのイメージしか選択できません。しかし、複数のイメージを選択したいと思います。複数の画像を選択している場合は、1つの画像しか保存していません。郵便配達サービスを使用して画像を選択しています。郵便配達員を使用してWCF RESTサービスで複数のイメージを渡す方法

public ServiceResponse<string> UploadDoc(Stream fileContents) 
      { 

       IncomingWebRequestContext woc = WebOperationContext.Current.IncomingRequest; 


       string fileName = woc.Headers["fileName"]; 
       if (fileName.Length <= 0) 
       { 
        throw new Exception("File not attached"); 
       } 


       if (fileName == "") 
       { 
        throw new Exception("Please send fileName in header"); 
       } 

       //string userId = woc.Headers["UserAuthor"]; 

       string fileNameUnique = Guid.NewGuid() + fileName; 
       string upload_FilePath = @"" + docFolder + "\\" + fileNameUnique; 
       string fileUrl = hostUrl + "/Document/" + fileNameUnique; 
       try 
       { 

        int length = 0; 

        using (FileStream writer = new FileStream(upload_FilePath, FileMode.Create)) 
        { 
         int readCount; 
         var buffer = new byte[8192]; 

         while ((readCount = fileContents.Read(buffer, 0, buffer.Length)) != 0) 
         { 
          writer.Write(buffer, 0, readCount); 
          length += readCount; 
         } 
        } 

        var response = new ServiceResponse<string> 
        { 
         ResponseObject = fileUrl 
        }; 

        return response; 

       } 
       catch (Exception e) 
       { 
        var response = new ServiceResponse<string> 
        { 
         IsError = true, 
         ExceptionObject = new ExceptionModel() 
         { 
          ErrorMessage = e.Message, 
          Source = e.Source, 
          Severity = 0, 
          KeyParameter = new[] { "ServiceError" } 
         } 
        }; 
        return response; 
       } 

      } 
+0

サービス操作の名前は、* public ServiceResponse UploadDoc(Stream fileContents)*です。これにより、単一の文書のみが許可されるように見えます。 –

+0

私は単一のオブジェクトを保存することもできません。私は単一のオブジェクトを保存しています。私はerror.Canで画像を取得しています。 –

+0

私たちは強力ですが、StackOverflowはまだあなたの心を読む能力を進化させていません。あなたの質問は答えられません。エラーが発生した場合は、エラーの内容を教えてください。さもなければ、私たちはどのように手伝ってくれるのですか? http://stackoverflow.com/help/how-to-ask –

答えて

0

ご質問が正しいとお考えの場合は、Streamパラメータをこのようなクラスに変更してみてください。

public class FilesRequest 
{ 
    public ICollection<Stream> MyStreams { get; set; } 
} 

public ServiceResponse<string> UploadDoc(FilesRequest request) 
{ 
    // Process the collection in your input, request.MyStreams 
} 
関連する問題