我使用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
}
答案 0 :(得分:0)
不确定它是否会有所帮助,但我的方法如下:
$upload_success = Input::file('file')->move($destinationPath, $filename);
if( $upload_success ) {
return Response::json('success', 200);
} else {
return Response::json('error', 400);
}