如何立即上传多个文件? -- forms 领域 和 files 领域 drupal 相关 的问题

How to upload multiple files at once?


21
vote

问题

中文

我们需要上传多种不同类型的文件,是否有一个模块,它将检查有效的MIME类型并仅上传有效文件,(基于网站设置,例如:PNG,DOC,JPG,TXT)?

英文原文

We need to upload multiple files of different types, is there a module that will check for valid mime types and upload only the valid files, (based on site settings, eg: png, doc, jpg, txt) ?

     

回答列表

27
 
vote
vote
最佳答案
 

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;需要软件购买/服务订阅)
 

clientside_validation (drupal-6 and drupal-7) performs some additional client-side checks, including checks on uploaded file extensions (but not MIME Types). (And, as @tim.plunkett mentioned in the comments, mimedetect is useful for server-side MIME Type validation, but the file must be uploaded to the server in order to be validated.)

For uploading multiple files, consider the following:

  • swfupload (drupal-6; Flash)
  • plupload (drupal-6 and drupal-7; Flash and several other technologies supported; new/under development)

For uploading multiple images, additionally consider these:

  • image_fupload (drupal-6; uses swfupload above)
  • jifupload (drupal-5 and drupal-6; free; uses Java applet)
  • aurigma (drupal-6; software purchase / service subscription required)
 
 
       
       
5
 
vote

我们与 plupload 有很好的运气。它倒退以实现跨浏览器兼容性,使用Silverlight,Flash,HTML5,并根据浏览器的功能倒回经典的HTML4'选择文件的小部件。

drupal集成模块有点粗略,但我们已成功地在填充图像的许多大项目上使用它领域。在Drupal 7中,我相信他们已经拔下了大部分UI,并将其转换为纯API模块,可以由媒体这样的工具使用,只需处理上传工作。如果您想做任何特别的时髦,您可能需要编写一些自定义代码来处理上传窗口小部件的位置,但它非常坚固。

我们已经设法将其内部事件绑定到处理相当多的后处理,并且可以在没有太多修复的情况下进行Mimetypes /踢回来验证错误。

 

We've had excellent luck with Plupload. It bends over backwards to achieve cross-browser compatibility, using Silverlight, Flash, HTML5, and falling back to classic HTML4 'select file' widgets depending on the browser's capabilities.

The Drupal integration module is a bit rough, but we've used it successfully on a number of large projects to populate Image Fields. In Drupal 7, I believe they've pulled most of the UI and turned it into a pure API module that can be used by tools like Media simply to handle the uploading work. If you want to do anything particularly funky, you'll probably have to write a bit of custom code to handle where the upload widget gets displayed, but it's very solid.

We've managed to tie into its internal events to handle quite a bit of post-processing, and checking for MIMEtypes/kicking back validation errors could probably be done without too much tinkering.

 
 
   
   
4
 
vote

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

在这里倾倒内容,因为它现在...

Aurigma Mass Uploader for CCK (6.x-2.0) Imagefield模块的Aurigma Uploader将商业Aurigma Image Uploader与Drupal集成。多个图像以单个批处理上传到多个Imagefield中。

图像fupload (6.x-3.0-rc2) 图像fupload(多重加载)是对图像和CCK的Imagefield模块的添加,可以通过使用图像模块或Imagefield模块来上传图像的每个用户,以上单击上传多个图像。所有所选图像都通过闪存模块(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的SWFPload模块为CCK的FileField提供了一个小部件,并使用SWFupload库同时允许多个文件上传。

jupload for imagefield (6.x-1.x-dev) 你有没有希望你可以一次上传一组图像到一个图像菲尔德? Imagefield模块的jupload(Jifupload)将Jupload Java小程序与CCK的Imagefield模块集成了。将多个图像以单个批次上传到用于多个值的ImageField。

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

imagefield zip支持(6.x-1.0-beta2) 这是Imagefield的辅助模块。在以多值上传图像域的多个图像时,该模块增加了在ZIP文件中上传多个图像而不是单独的能力。

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

 

Here's my comparison wiki in the Similar Module Review group. http://groups.drupal.org/node/155764

Dumping the content here as it is now...

Aurigma Mass Uploader for CCK (6.x-2.0) The Aurigma Uploader for Imagefield module integrates the commercial Aurigma Image Uploader with Drupal. Multiple images are uploaded in a single batch into a multiple imagefield.

Image FUpload (6.x-3.0-rc2) Image FUpload (Multiupload) which is an addition to image and CCK's imagefield module, gives the ability to every user who is allowed to upload images by using image module or imagefield module, to upload multiple images with one simple click. All selected images are uploaded via a flash module (swfupload) and are automatically processed.

Plupload integration (6.x-1.x-dev, 7.x-1.0-beta3) Provides integration between for the Plupload widget to upload multiple files and Drupal. Plupload is a GPL licensed multiple file uploading tool that can present widgets in Flash, Gears, HTML 5, Silverlight, BrowserPlus, and HTML4 depending on the capabilities of the client computer.

SWFUpload (6.x-2.0-beta8) The SWFUpload module for Drupal provides a widget for CCK's Filefield and uses the SWFUpload library to allow multiple file uploads simultaneous.

jUpload for Imagefield (6.x-1.x-dev) Have you ever wished you could upload a group of images at once to an imagefield? The jUpload for Imagefield module (jifupload) integrates the JUpload Java applet with the ImageField module for CCK. Multiple images are uploaded in a single batch into an imagefield set for multiple values.

Different approach, same outcome...

ImageField zip support (6.x-1.0-beta2) This is a helper module for ImageField. When uploading multiple images for imagefields with multi-values, this module adds the ability to upload multiple images in zip files instead of individually.

Imagefield Import (5.x-1.5, 6.x-1.10) Imagefield Import allows users with the proper permissions to import a large number of images into a CCK content type which contains a filefield or an imagefield. The module can grab titles and descriptions using EXIF or IPTC. Note: To use this module you must be able to upload images to your server via FTP, SCP, or other methods.

 
 
2
 
vote

另一个用于不支持的图像,但是工作是 imagefield zip支持

 

Another one for images that isn't supported very well but does work is ImageField zip support

 
 
 
 
2
 
vote

如果您可以将这些文件放入zip,并且您想要/必须使用核心上传模块,您可以尝试多个上传单独(drupal 6.x)。

 

If you can put these files into a zip, and you want/have to use core Upload module, you can try Multiple Upload Alone (Drupal 6.x).

 
 
0
 
vote

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

此模块应该被视为简化的解决方案 批量上传Modernal 7的Drupal 7的图像(和其他文件) (符合HTML5)浏览器,没有更多。

没有尝试,但代码很清晰,紧凑。

 

HTML5 Upload http://drupal.org/sandbox/z7/1348240

This modules should be regarded a streamlined solution for batch-uploading of images (and other files) for Drupal 7 in modern (HTML5 compliant) browser, nothing more.

Didn't try yet but the code is clear and compact.

 
 

相关问题

7  如何从评论作者名称中删除默认的“匿名”?  ( How to remove the default anonymous from comment author name ) 
在评论表格领域(核心评论模块)我将把评论作者名称留下空,以鼓励评论员提出原始绰号。 什么是最简单的方法? ...

51  如何使用模板文件来主题表单?  ( How to a use a template file to theme a form ) 
虽然drupal中的节点,注释,块和许多其他东西使用主题模板文件(如node.tpl.php)主题,表单是一个不同的故事。表单没有主题模板文件。如何获得特定的表单来使用自定义主题模板? ...

6  应该使用“容器”表单元素时?  ( When should the container form element be used ) 
系统模块定义容器 form元素,但表单组件未以表单API参考文档记录。 什么时候应该使用该元素?它的目的是什么? ...

5  从Drupal表单字段/标签中删除冒号  ( Remove colons from drupal form fields labels ) 
如何删除:从使用Drupal形式API制作的表单后出现: ...

5  主题Drupal表单API复选框作为网格  ( Theme drupal form api checkboxes as a grid ) 
我有一个自定义表单,显示大约2多个复选框的表单元素。如果可能,我想在表中每行输出3个。我怎么能做到这一点? $form['preference'] = array( '#type' => 'checkboxes', '#default_value' => 1373, '#require...

19  形式的条件字段最简单的方法  ( Easiest method for conditional fields in a form ) 
获取基于另一个字段的值启用/禁用表单字段的javascript魔法最简单的方法是什么?这听起来像某个地方应该有一个助手,但我找不到它。我正在寻找一个不限于节点的解决方案。 ...

3  基于提交按钮值重定向节点形式  ( Node form redirect based on submit button value ) 
我已经读取并尝试了几种方法来重定向表单一旦提交。但是,如果操作是t("保存" ),我只想重定向节点表单。 如果我设置$ form ['#redirect'] = form_alter中的'blah',它将重定向所有类型的表单。如果我添加提交处理程序然后设置$ form_state ['重定向'],它只是被drupal...

6  我应该如何处理容器表单元素?  ( How should i handle container form elements ) 
我已将一些自定义字段添加到寄存器用户表单中,我发现它们被发送回,包装在"容器" 类型元素中。我的代码需要处理所有类型的自定义寄存器字段。 我该如何解析这些对象并从中提取字段?我应该调查阵列,我可以在那里找到什么? 我似乎无法在这些对象上找到任何好的文档。 编辑: 通过用户注册收到的常规字段可能如下所示: na...

7  如何将系统联系表单消息发送处理并改变生成的HTML?  ( How can i hook into the system contact form message sent process and alter the h ) 
我有一个drupal网站,我正在使用涉及范围的系统联系,以允许访问者向网站所有者发送消息。一旦访问者提交表单,用户将被重定向到主页,并且顶部读数出现粘性: 您的邮件已发送。 我的问题,是可以更改此消息并将一些HTML添加到输出吗?理想情况下,我会添加一些JavaScript来为Google Analytics帐户...

3  如何将表单元素值输出为文本?  ( How to output form element values as text ) 
在节点编辑表单上,我想使某些字段由所有用户不可编辑,但存储在其上的值在表单上可见。我的思想是要将它们作为文本而不是HTML表单元素打印出来。什么是完成此目的的最佳方式? 要提供一些上下文,这些值通过迁移填充,不应在网站上编辑。 ...

3  如何在Node-Add表单中展开FirdioSet?  ( How to expand the fieldsets in node add form ) 
当我通过 998876662 添加新节点时,有很多按组命令的设置:提交表单设置,工作流程设置,评论设置。但所有这些FirdioSet都默认折叠。 我的问题是:如何使它们默认扩展? ...

31  如何在“复选框”fapi元素中禁用一个复选框?  ( How can i disable a single checkbox in a checkboxes fapi element ) 
标题基本上说明了这一切,我想禁用一个复选框类型fapi元素的一个复选框。 我不想使用javascript,也不是从复选框到多个 checkbox 元素的选项,因为该元素由另一个模块提供。< / p> 思想? ...

6  如何将“传递给Drupal_Attributes()的参数1”解析为arrys_settings_form()上的array“错误?  ( How do i resolve the argument 1 passed to drupal attributes must be an array ) 
我通常不会在这样的特定问题上发布,并询问特定问题的帮助,但我在浪费时间的绳索结束时... 我有一个简单的d7模块如下所示,当我加载页面时(谁的菜单项正是我想要的地方)我收到以下错误: 可恢复的致命错误:传递给Drupal_Attributes()的参数1必须是阵列,在第3106行中调用/por/to/site/p...

13  如何将客户端表单验证添加到Drupal表单?  ( How do i add client side form validation to a drupal form ) 
如何将客户端表单验证添加到Drupal表单?例如,在评论模块中。如果Vistor不进入电子邮件地址,我想弹出一个说:"请输入电子邮件地址" 的窗口。 我希望有人能给我一个如何这样做的例子。 ...

2  如何通过drupal_get_form调用规则操作设置表单  ( How to call a rules action settings form via drupal get form ) 
所以,我正在尝试嵌入我在'/ admin / config / workflow / culs / comment / comment / commence_payment_paypal_wps / edit / 3'中找到的表单 - 其中包含paypal业务等的设置(来自commerce_paypal_wps .m...

7  如何覆盖搜索框?  ( How to overwrite the search box ) 
<div class="fr_search"> <form action="/" accept-charset="UTF-8" method="post" id="search-theme-form"> <input name="search_theme_form" id="edi...

3  如何为我的菜单添加额外的信息?  ( How can i add extra info to my menus ) 
我有一些在标准菜单模块中管理的菜单(Drupal 6,BTW)。我想在我编辑菜单项时添加一个复选框,以控制通过CSS的"新建" 横幅的显示(通过为打开复选框的项目添加类)。 我可以将我的复选框添加到形式,如下所示: function mymodule_form_menu_edit_item_alter(&$for...

4  将CSV文件发送到FAPI表单上的用户  ( Send a csv file to the user on fapi form submit ) 
我有一个fapi形式,可以从用户收集一些信息,然后生成csv文件。意图是当用户单击表单上的"导出" 时,CSV立即下载。 但是,当提交处理程序调用CSV生成函数时,表单只是重定向,而不是服务CSV。 是否有任何方法可以将此表单直接向用户提供服务,而不会生成临时文件? ...

9  表单API文件上传  ( Form api file upload ) 
我的表单中有以下代码。 $form['new']['upload'] = array( '#type' => 'file', '#title' => t(''), '#size' => 40, ); 在提交处理程序上,它返回文件名,但它不保存文件并返回文件对象。我还需要做什么? 我正在尝试做的是...

2  在哪里修改计算可折叠字段集的高度的逻辑?  ( Where to modify the logic that calculates the height of a collapsible fieldset ) 
我不确定这是否是一个主题问题,但我不断地获得可收缩的Firstalset是1-2扫描线太短,导致滚动条出现。 这个项目很重使用FAPI,有时在其他可折叠的仿古集中的可折叠仿真集,垂直滚动条正在吃太多的页面房地产。 我正在使用一个未修改的融合启动主题,如果有帮助。而且,我不是一个主题,但通常可以得到。 我会非常高兴修...




© 2021 it.wenda123.org All Rights Reserved. 问答之家 版权所有


Licensed under cc by-sa 3.0 with attribution required.