Как передать несколько изображений в службе WCF REST с помощью почтальона

wcf wcf-rest

123 просмотра

1 ответ

121 Репутация автора

Здесь я могу выбрать только одно изображение за раз. Но я хочу выбрать несколько изображений. Кто-то, пожалуйста, помогите мне. Если я выбираю несколько изображений, также сохраняется только одно изображение. Я выбираю изображения с помощью сервиса «Почтальон».

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

            }
Автор: shajeer puzhakkal Источник Размещён: 18.07.2016 12:22

Ответы (1)


0 плюса

67 Репутация автора

Если я правильно понимаю ваш вопрос, вы можете попробовать изменить параметр Stream на класс, подобный этому.

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

public ServiceResponse<string> UploadDoc(FilesRequest request)
{
   // Process the collection in your input, request.MyStreams
}
Автор: Ninos Размещён: 21.03.2017 08:43
Вопросы из категории :
32x32