如何一次上传多个文件?


22

我们需要上传多个不同类型的文件,是否有一个模块可以检查有效的mime类型并仅上传有效的文件(基于站点设置,例如:png,doc,jpg,txt)?

Answers:


27

clientside_validation(drupal-6和drupal-7)执行一些其他客户端检查,包括检查上载的文件扩展名(但不检查MIME类型)。(并且,如评论中的@ tim.plunkett所述,mimedetect对于服务器端MIME类型验证很有用,但是必须将文件上载到服务器才能进行验证。)

要上传多个文件,请考虑以下事项:

  • swfupload(drupal-6; Flash)
  • plupload(drupal-6和drupal-7; Flash和其他几种技术支持;新/开发中)

要上传多张图片,请另外考虑以下几点:

  • image_fupload(drupal-6;在上面使用swfupload)
  • jifupload(drupal-5和drupal-6;免费;使用Java applet)
  • aurigma(drupal-6;需要购买软件/订阅服务)

2
我询问了mime类型,因为我已经读到使用mime类型比检查文件扩展名是更好的做法。
palbakulich 2011年

@palhmbs-您阅读正确。您应始终检查上传文件的MIME类型。
基督教徒

1
以上任何模块都可以与MimeDetect集成并为您处理。
tim.plunkett 2011年

如果您愿意扩展clientside_validation以使用mimedetect,请将代码张贴在某个地方,然后让我们添加该功能以供一般公众使用。
Capi Etheriel 2011年

5

Plupload的运气很好。它使用Silverlight,Flash,HTML5向后弯曲以实现跨浏览器的兼容性,并根据浏览器的功能而退回到经典的HTML4“选择文件”小部件。

Drupal的集成模块是有点粗糙,但我们已经成功地用它在一批大项目来填充的图像场。我相信在Drupal 7中,他们已经拉动了大部分UI,并将其变成了一个纯API模块,Media等工具可以将其简单地用于处理上传工作。如果您想做一些特别时髦的事情,您可能必须编写一些自定义代码来处理显示上载小部件的位置,但这非常可靠。

我们已经设法结合其内部事件来处理大量的后处理,并且可能无需过多修改就可以检查MIME类型/回退验证错误。


1
曾经使用过D6版本的Plupload吗?
doublejosh 2011年

@Eathon您是否对plupload模块中的自动上传有任何想法。我从讨论drupal.org/node/1804382#comment-7810763得到了想法。还有解决方案stackoverflow.com/questions/8137229/…,但是我不知道如何与API中的drupal集成
mohit_rocks 2013年

4

这是我在相似模块评论小组中的比较Wiki。 http://groups.drupal.org/node/155764

现在将内容转储到这里...

用于CCK的Aurigma Mass Uploader(6.x-2.0) 用于Imagefield的Aurigma Uploader模块将商用Aurigma Image Uploader与Drupal集成在一起。多个图像可以单批上传到多个图像字段中。

图像FUpload(6.x-3.0-rc2) 图像FUpload(Multiupload)是对图像和CCK的imagefield模块的补充,使每个允许使用图像模块或imagefield模块上传图像的用户能够上传多个一键即可显示图像。所有选定的图像均通过Flash模块(swfupload)上传,并被自动处理。

Plupload集成(6.x-1.x-dev,7.x-1.0-beta3) 在Plupload小部件上传多个文件和Drupal之间提供集成。Plupload是GPL许可的多文件上传工具,可以根据客户端计算机的功能显示Flash,Gears,HTML 5,Silverlight,BrowserPlus和HTML4中的小部件。

SWFUpload(6.x-2.0-beta8) 用于Drupal的SWFUpload模块为CCK的Filefield提供了一个小部件,并使用SWFUpload库允许同时上传多个文件。

jUpload for Imagefield(6.x-1.x-dev) 您是否曾经希望可以一​​次将一组图像上载到Imagefield?用于Imagefield的jUpload模块(jifupload)将JUpload Java小程序与用于CCK的ImageField模块集成在一起。将多张图像单批上传到为多个值设置的图像字段中。

不同的方法,相同的结果...

ImageField zip支持(6.x-1.0-beta2) 这是ImageField的帮助器模块。当为具有多值的图像字段上传多张图像时,此模块增加了以zip文件而不是单独上传多张图像的功能。

Imagefield导入(5.x- 1.5,6.x -1.10) Imagefield导入允许具有适当权限的用户将大量图像导入包含文件域或图像域的CCK内容类型。该模块可以使用EXIF或IPTC来获取标题和描述。注意:要使用此模块,您必须能够通过FTP,SCP或其他方法将图像上传到服务器。




0

HTML5上传 http://drupal.org/sandbox/z7/1348240

该模块应该被视为简化的解决方案,用于在现代(符合HTML5的浏览器)浏览器中为Drupal 7批量上传图像(和其他文件)。

尚未尝试,但是代码清晰紧凑。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.