【问题标题】:Dropzone.js - I can't upload my imagesDropzone.js - 我无法上传我的图片
【发布时间】:2018-04-14 09:00:50
【问题描述】:

我制作了一个可以正常工作的控制器:

    public function gallerystore(Request $request){
    $gallery_path = 'uploads';
    $files = $request->file('gallery');
    foreach ($files as $gallery) {
      $gallery_new_name = time().$gallery->getClientOriginalName();
      $gallery->move($gallery_path, $gallery_new_name);

      $img = Image::make(public_path($gallery_path . '/' .$gallery_new_name));
      $img->resize(null, 720, function($constraint){
        $constraint->aspectRatio();
      });
    }
}

问题是当我尝试使用Dropzone.js。实际上,当我将类 dropzone 添加到表单中时。 Laravel 显示错误

为 foreach() 提供的参数无效。

【问题讨论】:

    标签: javascript jquery laravel dropzone


    【解决方案1】:

    我认为添加 HTML 代码将有助于进一步调试问题。但是,错误似乎正在发生,因为您尝试获取的 gallery 参数为空,因此 foreach 方法无法遍历此值。

    我建议此参数为空的原因是由于提交的表单缺少上传工作所需的enctype="multipart/form-data"。检查没有插件和使用插件是否设置了此属性。

    【讨论】:

    • 我不显示我的标记,但我有 enctype="multipart/form-data"。但是在文档中我看到这个库的配置看起来像 ajax。您必须提供网址等。所以它是异步工​​作的。但就我而言,这不是一个好方法。
    • @theexpanse87 是的,出于安全原因,没有 js 可以修改文件输入中的内容。如果您仍希望使用 Dropzone 执行非 ajax 请求,则需要序列化文件或等效方法,即 stackoverflow.com/questions/23716048/…
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-06-05
    • 2017-11-13
    • 2018-12-20
    • 1970-01-01
    相关资源
    最近更新 更多