Tag: file upload

文件上传流从哪里获取内容?

我有一个关于文件上传的问题,这与它的工作原理有关,而不是代码问题。 我在互联网上看了,但我找不到合适的答案。 我有一个在tomcat上运行的Web应用程序,它处理文件上传(通过servlet)。 假设我现在要上传大文件(> 1 Gb)。 我的理解是,一旦实际传输了整个文件,HTTP请求的多部分内容就可以在我的servlet中使用。 我的问题是请求的内容实际存储在哪里? 当一个人调用HttpServletRequest.getParts()时, Part对象上有一个InputStream 。 但是,从哪里读取流? Tomcat将它存储在某个地方吗? 我想这可能不够清楚,所以我会根据你的意见更新post,如果有的话。 谢谢

如何在Jersey中获取上传文件的MIME类型

我在泽西岛有一个标准的上传端点: @POST @Secure @Consumes(“multipart/form-data”) public Response upload( @Context final HttpHeaders hh, @FormDataParam(“fileaaa”) final FormDataContentDisposition disposition, @FormDataParam(“fileaaa”) final InputStream input, 如何获取上传文件的MIME类型? 如果我执行disposition.getType这将获取表单的MIME类型; 在这种情况下, form-data 。 我知道信息在某处; HTTP消息应该是这样的: —————————–7d01ecf406a6 Content-Disposition: form-data; name=”input_text” mytext —————————–7d01ecf406a6 Content-Disposition: form-data; name=”fileaaa”; filename=”C:\Inetpub\wwwroot\Upload\pic.gif” Content-Type: image/gif (binary content) —————————–7d01ecf406a6–

Apache commons fileupload“Streaming API”

我引用了Commons FileUpload Apache Commons页面 该页面描述了commons文件上载库的传统API。 传统的API是一种方便的方法。 但是,为了获得最佳性能,您可能更喜欢速度更快的 Streaming API。 我的问题 具体哪些差异使Streaming API比traditional API更快?

在Java环境中检测重复上载文件的最佳方法?

作为基于Java的Web应用程序的一部分,我将接受上传的.xls和.csv(以及可能的其他类型)文件。 每个文件都将使用参数和时间戳的组合进行唯一重命名。 我希望能够识别任何重复的文件。 副本我的意思是,完全相同的文件,无论名称。 理想情况下,我希望能够在上传后尽快检测到重复项,以便服务器可以在响应中包含此信息。 (如果按文件大小处理时间不会造成太多延迟。) 我已经阅读过关于在文件上运行MD5并将结果存储为唯一键等的内容…… 但我怀疑有更好的方法。 (有没有更好的办法?) 关于如何最好地接近这一点的任何建议表示赞赏。 谢谢。 更新:我对使用MD5一无所知。 我过去曾用过Perl( Digest :: MD5 )几次。 我认为在Java世界中,可能会出现另一种( 更好的 )解决方案。 但是,看起来我错了。 谢谢大家的回答和评论。 我现在对使用MD5感觉非常好。

以混合forms上传Spring文件

我想上传一个文件到我的spring 3.0 applicatoin(用roo创建)。 我已经拥有以下实体: @Entity @RooJavaBean @RooToString @RooEntity public class SelniumFile { @ManyToOne(targetEntity = ShowCase.class) @JoinColumn private ShowCase showcase; @Lob @Basic(fetch = FetchType.LAZY) private byte[] file; @NotNull private String name; } 但我不知道如何在视图/控制器端实现它。 我可以自由地将弹簧forms的标签(如 与普通标签(如吗? 我已经在MVC文档中看到了很好的分段上传部分 ,但仍需要一些帮助才能将它应用到我的特定情况。

Spring文件上传 – 获得预期的MultipartHttpServletRequest:是否配置了MultipartResolver? 错误

我正在尝试使用angular-file-upload在我的Angular Web应用程序中合并多个文件上传function。 目前,前端function有效,但每次上传尝试都会抛出一个 java.lang.IllegalStateException,java.io.IOException]: java.lang.IllegalArgumentException: Expected MultipartHttpServletRequest: is a MultipartResolver configured? 例外。 上传控制器定义为 @Controller @PropertySource(“classpath:application.properties”) public class FileUploadController { @Resource private Environment env; @RequestMapping(value = “/fileupload”, method = RequestMethod.POST) @ResponseBody public List fileUpload(@RequestParam(“file”) MultipartFile[] uploadFiles) throws IllegalStateException, IOException { //file processing logic } } 在我的AppConfig.java类中,我声明了bean @Bean public CommonsMultipartResolver commonsMultipartResolver(){ CommonsMultipartResolver commonsMultipartResolver = new CommonsMultipartResolver(); commonsMultipartResolver.setDefaultEncoding(“utf-8”); […]

识别多文件上载中的每个字段

当尝试使用ArrayList使用Struts2上传多个文件时,如何识别每个字段? 例如,如果我有两个文件字段, File1和File2 ,在客户端,我选择只上传File2 ,Struts 2只在列表中创建一个元素,我无法正确地将File1映射为空,而File2与上传的文件。 我可以在这里使用任何标识符吗?

在Restlet中使用描述上传文件

我需要使用restlet 上传包含一些额外数据的文件 。 所以我创建了一个示例html页面,如下所示。 *****Upload File with RESTFul WebService***** Upload File Party ID 我需要从输入字段读取值以及文件数据。现在可以读取文件内容。我可以在同一个api调用中从该输入框中获取值。 @Post public Representation accept(Representation entity) throws Exception { Representation result = null; if (entity != null) { if (MediaType.MULTIPART_FORM_DATA.equals(entity.getMediaType(), true)) { // 1/ Create a factory for disk-based file items DiskFileItemFactory factory = new DiskFileItemFactory(); factory.setSizeThreshold(1000240); // 2/ Create a new […]

使用Struts上传图像

我刚刚开始练习struts,所以我对这个框架有点新意。 所以,我要做的是使用这个JSP文件上传一个图像: Upload User Image Struts2 File Upload & Save Example Image : 动作类如下: public class InsertImageBean extends ActionSupport{ private static final long serialVersionUID = 1L; private File Image; private String myFileContentType; private String myFileFileName; public String execute() { /* Copy file to a safe location */ InsertImage.save(this); return SUCCESS; } public File getMyFile() { […]

无法调试java.lang.NoClassDefFoundError:com / google / inject / internal / util / $ Preconditions

我正在尝试使用jclouds制作一个用于将文件上传到openstack swift的applet。 我正面临NoClassDefFoundError,以下是stacktrace: Exception in thread “main” java.lang.NoClassDefFoundError: com/google/inject/internal/util/$Preconditions at org.nnsoft.guice.rocoto.configuration.ConfigurationModule.configure(ConfigurationModule.java:64) at com.google.inject.AbstractModule.configure(AbstractModule.java:59) at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223) at com.google.inject.spi.Elements.getElements(Elements.java:101) at com.google.inject.spi.Elements.getElements(Elements.java:92) at org.nnsoft.guice.rocoto.Rocoto.expandVariables(Rocoto.java:52) at org.nnsoft.guice.rocoto.Rocoto.expandVariables(Rocoto.java:47) at org.jclouds.config.BindPropertiesToExpandedValues.configure(BindPropertiesToExpandedValues.java:47) at com.google.inject.AbstractModule.configure(AbstractModule.java:59) at com.google.inject.spi.Elements$RecordingBinder.install(Elements.java:223) at com.google.inject.spi.Elements.getElements(Elements.java:101) at com.google.inject.internal.InjectorShell$Builder.build(InjectorShell.java:133) at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:103) at com.google.inject.Guice.createInjector(Guice.java:95) at com.google.inject.Guice.createInjector(Guice.java:72) at com.google.inject.Guice.createInjector(Guice.java:62) at org.jclouds.ContextBuilder.expandProperties(ContextBuilder.java:385) at org.jclouds.ContextBuilder.buildInjector(ContextBuilder.java:320) at org.jclouds.ContextBuilder.buildView(ContextBuilder.java:620) at org.jclouds.ContextBuilder.buildView(ContextBuilder.java:600) at com.cdac.appletclass.Test.main(Test.java:56) Caused by: java.lang.ClassNotFoundException: com.google.inject.internal.util.$Preconditions […]