最近我一直在尝试在 Drupal 中处理通过 Dropzone.js 上传的文件。我没有使用 Drupal API 表单内容,只是使用纯 HTML 代码来生成 Dropzone,但我想使用 Drupal 函数(特别是 file_save_upload()
)处理上传的文件。但是,我无法使用该功能“捕获”上传的文件。
最佳答案
由于某些原因,Dropzone 生成的 $_FILES
数组看起来像这样:
Array (
[files] => Array
(
[name] => 5bcb9c.jpg
[type] => image/jpeg
[tmp_name] => /private/var/tmp/phpgZHmT8
[error] => 0
[size] => 273794
) )
但是,Drupal 的函数 file_save_upload() 正在等待此结构中的 $_FILES 数组:
Array
(
[files] => Array
(
[name] => Array
(
[files] => 5bcb9c.jpg
)
[type] => Array
(
[files] => image/jpeg
)
[tmp_name] => Array
(
[files] => /private/var/tmp/php4ebqBs
)
[error] => Array
(
[files] => 0
)
[size] => Array
(
[files] => 210075
)
)
)
所以我必须做的是更改 $_FILES 变量(是的,我知道!),以便它匹配 Drupal 所需的结构。它现在可以工作了,尽管我不太明白为什么 Dropzone 会生成另一个结构,而 Drupal 需要 $_FILES 变量的其他结构。如果有人能详细说明这一点,我会很高兴。不过,我的解决方案有效。
关于drupal-7 - 如何在 Drupal 中处理通过 Dropzone 上传的文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28037779/