Java 带预览的多文件上传器

Java 带预览的多文件上传器,java,javascript,flash,file-upload,Java,Javascript,Flash,File Upload,我正试图找到一个可以让用户上传多个文件到一个网站的东西。其要求是,它允许用户轻松地选择多个文件(最好使用类似于复选框的内容),并显示所选图像的预览 如果可能的话,我更愿意只使用Javascript或Flash,但Java也是一种选择(这需要在Silverlight不可用的平台上工作) 到目前为止,我所能找到的都是使用本机文件选择器的东西(它在Windows上不显示预览,并且不清楚是否可以通过按住ctrl键选择多个) 我不确定预览要求是否可行,但这是最重要的。我在这里假设两件事: 1) 某种类型的

我正试图找到一个可以让用户上传多个文件到一个网站的东西。其要求是,它允许用户轻松地选择多个文件(最好使用类似于复选框的内容),并显示所选图像的预览

如果可能的话,我更愿意只使用Javascript或Flash,但Java也是一种选择(这需要在Silverlight不可用的平台上工作)

到目前为止,我所能找到的都是使用本机文件选择器的东西(它在Windows上不显示预览,并且不清楚是否可以通过按住ctrl键选择多个)


我不确定预览要求是否可行,但这是最重要的。

我在这里假设两件事:

1) 某种类型的客户端/最终用户将执行文件上载

2) 您可以对客户端在其计算机上安装什么来帮助实现这一点发表意见

如果是这样,我的第一个建议是:

给他们FTP或SFTP客户端软件来上传文件。您创建的php页面可以有到Filezilla的链接,以及关于如何使用它的说明。ftp和sftp是用于传输文件的协议。HTTP就是不是为它而设计的,浏览器也不是

一旦用户安装了FTP客户端软件,您可以为他们提供特定于其用户帐户的上传文件的URL,并且您可以拥有后端脚本进程并加载/移动他们上传的文件。使用服务器端脚本创建一个本地临时目录,让客户端通过ftp上传文件,然后返回web浏览器并单击一个按钮,上面写着“完成上传,请处理我的东西”,这非常简单


浏览器甚至可以对上传/处理的所有内容进行确认

要上载多个文件,我使用组件

关于预览,我也遇到了类似的问题,经过几天的谷歌搜索,我发现最好的结果如下

具有相同的问题,并通过以下方式解决:

  • 以服务器模式(套接字)运行的开放式office,所有office文档都由alfresco发送到开放式office,以便将其转换为PDF格式
  • 由于
  • swf集成在HTML中
  • 对于图像,我想它用来创建文件的小版本
个人而言,我将尝试以这种方式实施:

  • 使用套接字模式打开office将office文档转换为PDF
  • 感谢library将PDF的第一页转换为PNG
  • 向最终用户显示该PNG
  • 对于图像,我可能也会使用ImageMagick。。。但现在,我使用的是API

这是一个firefox解决方案: 它使用FileReader javascript对象来加载、显示和上载图像

它仍然不会在“文件选择”对话框中显示预览,但至少允许您在上载之前预览图像

下面是一个现成的java小程序解决方案:

这是一个web应用程序,FTP将使其变得更加复杂和难以使用。Wwe可以说“你必须安装Flash才能使用多文件上传器”,因为大多数人都有Flash,而且它假装是浏览器的一部分,所以他们没有额外的设置。很少有人有Filezilla,而且它确实要求用户自己设置一组设置。更不用说Filezilla不会做我问过的任何事情(预览/复选框),它需要添加另一个脚本来浏览上传目录并处理事情(没有用户反馈)。这就是为什么我讨厌像你尝试设计的那样的应用程序。Flash是一个可怕的讨厌的东西,它让Flash Cookie在网站和会话之间做各种各样的跟踪和其他垃圾,完全破坏了我的隐私。我已经可以很容易地在我的电脑上预览本地文件了,Filezilla是一个很好的ftp程序,如果一个网站把我当成白痴,我会很乐意地删除我的业务。一旦上传了我的文件,服务器应该可以很容易地让我做进一步的管理,包括预览,调整大小/裁剪,在保存之前使用简单的javascript。我完全理解。如果上传文件供我自己使用,我会使用FTP(通过ssh),但大多数用户不希望设置FTP客户端只是为了上传几张照片,当浏览大量名称不正确的文件目录时(我不知道你的情况,但我有这些文件),预览非常有用。更不用说,我不想设置一个FTP服务器,为成千上万的用户处理权限和文件夹。我想这可能是自动化的,但如果我可以处理表单提交,为什么还要麻烦呢?现在你只是在找借口。FTP服务器的用户集可以配置为使用ldap、文本文件或数据库对用户进行身份验证。他们可能甚至可以使用你在web应用程序上运行的任何基于web的用户身份验证方案。至于我,我更喜欢使用基于操作系统的导航工具浏览本地公司的文件图像目录。IMHO,唯一正确的人是谷歌的桌面picasa应用程序。他们基本上意识到基于HTML和http的图像上传是蹩脚的,然后采取了正确的方式。这并没有改变这样一个事实,即我必须建立一个完整的新程序,带有身份验证和一个脚本来处理它,这对用户来说是更多的工作。大多数人宁愿点击一个链接,选择他们想要的,然后点击“Go”,而不是打开一个不同的程序,上传内容,然后回到浏览器,告诉web应用程序他们已经完成了。当然,如果用户必须自己设置,就不可能让他们做一些事情(为什么webmail和Flash游戏如此流行)。记住:程序员和大多数人有不同的偏好,我不是针对程序员。它看起来像HTML5
multiple=“mult”的组合