Laravel 4 / Intervention / Dropzone.js无法使用某些图像

时间:2015-04-09 20:32:46

标签: php ajax laravel dropzone.js intervention

我使用Laravel / Intervention / Dropzone.js使用Ajax将图像上传到我的网站。我遇到的问题是一些图像返回"错误:500"上传时问题不在于文件大小或尺寸,我已经对这两者进行了测试。我相信问题是Lightroom。无法上传的图像是我使用Lightroom编辑的图像。我应该对图像(编码,发送标题)做些什么导致这种情况。其他一切都很好。这是我的代码。

if(Input::hasFile('file-upload')) {

            $file = Input::file('file-upload'); 

            $key = Input::get('_uuid');
            $img = Image::make($file[0]);

            $img = Image::make($file[0])->widen(500, function ($constraint) {
                $constraint->upsize();
            });

            $img = Image::make($file[0])->heighten(1080, function ($constraint) {
                $constraint->upsize();
            });


            $fileName = Uuid::generate();
            $extenstion = $file[0]->getClientOriginalExtension();
            $fileItself = $fileName . '.' . $extenstion;

            $path = "/uploads/" . $fileItself;

            $img->save(public_path($path));
        }

Dropzone.js选项

Dropzone.options.newPostForm = {
    paramName: "file-upload",
    uploadMultiple: true,
    dictDefaultMessage: "",
    previewsContainer: ".dropzone-previews",
    clickable: "#file-upload",
    maxThumbnailFilesize: 20,
    maxFilesize: 30
}

1 个答案:

答案 0 :(得分:0)

不确定它是否会有所帮助,但我的方法如下:

    $upload_success = Input::file('file')->move($destinationPath, $filename);


    if( $upload_success ) {
        return Response::json('success', 200);
    } else {
        return Response::json('error', 400);
    }