예제 #1
0
 protected internal virtual Stream getInputStream(FileItemStream stream)
 {
     try
     {
         return(stream.openStream());
     }
     catch (IOException e)
     {
         throw new RestException(Status.INTERNAL_SERVER_ERROR, e);
     }
 }
예제 #2
0
            public FormPart(FileItemStream stream)
            {
                fieldName     = stream.FieldName;
                contentType   = stream.ContentType;
                binaryContent = readBinaryContent(stream);
                fileName      = stream.Name;

                if (string.ReferenceEquals(contentType, null) || contentType.Contains(MediaType.TEXT_PLAIN))
                {
                    textContent = StringHelper.NewString(binaryContent);
                }
            }
예제 #3
0
 protected internal virtual void parseRequest(MultipartFormData multipartFormData, FileUpload fileUpload, RestMultipartRequestContext requestContext)
 {
     try
     {
         FileItemIterator itemIterator = fileUpload.getItemIterator(requestContext);
         while (itemIterator.hasNext())
         {
             FileItemStream stream = itemIterator.next();
             multipartFormData.addPart(new FormPart(stream));
         }
     }
     catch (Exception e)
     {
         throw new RestException(Status.BAD_REQUEST, e, "multipart/form-data cannot be processed");
     }
 }
예제 #4
0
            protected internal virtual sbyte[] readBinaryContent(FileItemStream stream)
            {
                Stream inputStream = getInputStream(stream);

                return(IoUtil.readInputStream(inputStream, stream.FieldName));
            }