2016-07-18 5 views
0

한 번에 하나의 이미지 만 선택할 수 있습니다. 그러나 여러 이미지를 선택하고 싶습니다. 누군가 도와주십시오. 여러 이미지를 선택하는 경우 하나의 이미지 만 저장합니다. 우편 서비스를 사용하여 이미지를 선택합니다.우체부를 사용하여 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

단일 개체를 저장할 수 없습니다. 단일 개체를 저장하면 오류가있는 이미지가 나타납니다. 어떻게 할 수 있습니까? –

+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 
}