1

我正在使用 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
}
4

1 回答 1

0

不确定它是否会有所帮助,但这是我的做法:

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


    if( $upload_success ) {
        return Response::json('success', 200);
    } else {
        return Response::json('error', 400);
    }
于 2015-04-09T20:46:51.570 回答