Tag: multipart

接受List作为Jersey Web服务的参数,该Web服务使用多部分的内容类型

我有一个现有的Jersey webservice方法,它通过Http POST方法接受许多参数,该方法用于处理标准表单数据,application / x-www-form-urlencoded的内容类型; 其中一个参数是字符串列表。 下面是我拥有的方法签名的示例。 @POST @Consumes(MediaType.APPLICATION_FORM_URLENCODED) public Response createItem( @FormParam(“p1”) long p1, @FormParam(“p2”) String p2, @FormParam(“p3”) List p3, @FormParam(“p4”) String p4, @Context UriInfo uriInfo ) throws SQLException { 这是正常工作,当在List中传递多个p3参数时,Jersey正确生成并传递给方法。 我现在需要制作一个可以接受多部分请求的方法的替代版本,这样文件也可以与现有参数一起上传。 所以我创建了一个非常相似的方法签名来使用多部分请求,如下所示。 @POST @Consumes(MediaType.MULTIPART_FORM_DATA) public Response createItemWithFile( @FormDataParam(“p1”) long p1, @FormDataParam(“p2”) String p2, @FormDataParam(“p3”) List p3, @FormDataParam(“p4”) String p4, @FormDataParam(“file”) InputStream inputStream, @Context […]

MultipartResolver不起作用

我使用Maven和Spring Roo开发RESTFul Web服务。 在我的配置xml文件中,我定义了一个multipartResolver bean,因为我上传了300KB的文件: 文件成功上传并推送到堆栈中。 这些文件是CommonsMultipartFile或MultipartFile对象(我对这两种类型的对象都有相同的现象)。 一旦我弹出一个文件,我可以调用getSize()方法,我可以validation文件的大小是否正确。 但是一旦我调用getInputStream()我就会收到以下错误: File has been moved – cannot be read again. 我在multipartResolver声明中做错了什么? 还有其他原因导致此错误吗? 谢谢

邮差多部分/表格数据错误:缺少开始边界

我正试图用Postman发送的multipart/form-data请求命中我的服务器端点。 我收到400 Bad Request ,原因是: org.jvnet.mimepull.MIMEParsingException: Missing start boundary. 如何设置起始边界以及如何知道它应该是什么?

尝试上传时无效的CSRF令牌Spring 4 MVC

我试图使用Spring MVC 4上传一个带有Web应用程序的文件,但是我收到一个错误: 在请求参数’_csrf’或标题’X-CSRF-TOKEN’上找到无效的CSRF令牌’null’。 春季版: Spring Version 4.1.7.RELEASE Spring Security 4.0.1.RELEASE 码: web.xml中 FATCA Web Application contextConfigLocation /WEB-INF/spring-web-servlet.xml spring-web org.springframework.web.servlet.DispatcherServlet 1 spring-web *.html 弹簧网络servlet.xml中 /WEB-INF/views/ .jsp Settings.jsp <input type="submit" value= /> 在提交包含字符串“Test”的名为test.txt的文件后发布请求有效内容: Content-Type: multipart/form-data; boundary=—————————83935555814334632461054528816 Content-Length: 368 —————————–83935555814334632461054528816 Content-Disposition: form-data; name=”file”; filename=”test.txt” Content-Type: text/plain Test —————————–83935555814334632461054528816 Content-Disposition: form-data; name=”_csrf” 41f3dc0a-b97f-4dac-bc49-21e02be53818 —————————–83935555814334632461054528816–

如何从绝对文件路径制作CommonsMultipartFile?

我正在为我的应用程序创建一个API。 在基于GUI浏览器的应用程序中,文件通过表单提交上载。 所以我只做CommonsMultipartFile file = request.getFile(myfile) 。 但是,API将以字符串forms提供文件的绝对路径,而不是上载文件。 我的应用程序将可以访问此绝对路径。 所以我不必更改我的应用程序的底层方法(它接受通用接口MultiPartFile出于API目的,我想从这个绝对路径读取文件并创建一个CommonsMultipartFile对象,它可以传递给方法我已经用于基于GUI浏览器的应用程序了。 我怎样才能做到这一点? CommonsMultipartFile构造CommonsMultipartFile接受FileItem

Servlet 3.1 – 多部分异步处理

我正在测试Servlet 3.1 API来处理多部分请求。 我有兴趣同步处理一些部分(文本字段)和其他异步(文件字段)。 乍一看似乎它在Servlet 3.1中不可用(在异步上下文中完全异步通过request.getInputStream()或类似于apache-commons-fileupload库的多部分处理)。 有没有办法使用Servlet 3.1获得此同步/异步处理? 在此先感谢您的时间! 🙂

Spring上传文件问题

我需要将文件从浏览器上传到服务器。 我使用spring 3.2作为我的web框架。 所以我像这样配置我的应用程序。 1 – 我得到了web.xml contextClass org.springframework.web.context.support.AnnotationConfigWebApplicationContext contextConfigLocation racoonsoft.chaos.settings org.springframework.web.context.ContextLoaderListener MyServlet org.springframework.web.servlet.DispatcherServlet contextConfigLocation 1 MyServlet / admin/library 2 – MainConfig类 @Configuration @Import({WebConfig.class }) public class MainConfig { @Bean public static PropertySourcesPlaceholderConfigurer propertySourcesPlaceholderConfigurer() { return new PropertySourcesPlaceholderConfigurer(); } @Bean public static ScheduledAnnotationBeanPostProcessor scheduledAnnotationBeanPostProcessor() { return new ScheduledAnnotationBeanPostProcessor(); } @Bean public static StandardServletMultipartResolver multipartResolver() { […]

如何通过Java中的多部分请求上传大文件?

我正在使用本教程上传大文件,但它甚至无法上传300KB的文件。 此外,它不会上传*.txt或*.log文件以外的任何内容。 需要指针,可以帮助我上传大文件,无论文件类型。 共享修改后的代码 public class MultipartUtility { private final String boundary private static final String LINE_FEED = “\r\n” private HttpURLConnection httpConn private String charset private OutputStream outputStream private PrintWriter writer public MultipartUtility(String requestURL, String charset) throws IOException { this.charset = charset // creates a unique boundary based on time stamp boundary = “===” + […]

如何从与Jersey的多部分表单中读取具有相同名称的多个(文件)输入?

我已经成功开发了一项服务,我在其中阅读在泽西岛以多部分forms上传的文件。 这是我一直在做的非常简化的版本: @POST @Path(“FileCollection”) @Consumes(MediaType.MULTIPART_FORM_DATA) public Response uploadFile(@FormDataParam(“file”) InputStream uploadedInputStream, @FormDataParam(“file”) FormDataContentDisposition fileDetail) throws IOException { //handle the file } 这工作得很好,但我已经给了一个新的要求。 除了我上传的文件外,我还要处理任意数量的资源。 我们假设这些是图像文件。 我想我只是为客户端提供一个表单,其中包含一个文件输入,第一个图像的一个输入和一个允许向表单添加更多输入的按钮(使用AJAX或简单的JavaScript)。 因此,用户可以为表单添加更多图像输入,如下所示: 我希望阅读与集合同名的字段非常简单。 我在MVC .NET中使用文本输入成功完成了它,我认为在Jersey中不会更难。 事实certificate我错了。 找不到关于这个主题的教程,我开始尝试。 为了看看如何做到这一点,我把问题简化为简单的文本输入。 Multiple inputs with the same name 显然,我需要将某种集合作为我方法的参数。 这是我尝试过的,按集合类型分组。 排列 起初,我检查了Jersey是否足够智能来处理一个简单的数组: @POST @Path(“FileCollection”) @Consumes(MediaType.MULTIPART_FORM_DATA) public Response uploadFile(@FormDataParam(“test”) String[] inputs) { //handle the request } 但arrays未按预期注入。 […]

阅读mime multipart的身体部分

好吧所以我使用.getcontent并收到javax.mail.internet.MimeMultipart@fd13b5等。 我知道我的代码中需要这样的东西,但我不知道到底需要什么。 if (p.isMimeType(“text/plain”)) { pr(“This is plain text”); pr(“—————————“); if (!showStructure && !saveAttachments) System.out.println((String)p.getContent()); } else if (p.isMimeType(“multipart/*”)) { pr(“This is a Multipart”); pr(“—————————“); Multipart mp = (Multipart)p.getContent(); level++; int count = mp.getCount(); for (int i = 0; i < count; i++) dumpPart(mp.getBodyPart(i)); level–; } else if (p.isMimeType("message/rfc822")) { pr("This is a Nested Message"); […]