【发布时间】:2016-08-30 18:05:09
【问题描述】:
所以在我的 jQuery 中,我使用 FormData API 将一些数据发布到 Laravel 控制器。 blob 本身取自cropper 插件,代码本身如下所示:
image_cropper.cropper('getCroppedCanvas').toBlob(function (blob) {
var formData = new FormData();
formData.append('image_url', blob);
console.log(formData.get('image_url'));
$.ajax({
url: "{{action('Admin\AdminDashboardController@postCreateEdit')}}",
data: formData,
processData: false,
contentType: false,
type: 'POST',
success: function(data){
$('#carCreateEditModal').modal('close');
}
});
});
控制台日志打印出这个对象:
lastModified
:
1472579954758
lastModifiedDate
:
Tue Aug 30 2016 20:59:14 GMT+0300 (FLE Daylight Time)
name
:
"blob"
size
:
525372
type
:
"image/png"
webkitRelativePath
:
""
__proto__
:
File
当我检查表单数据在我的控制器中是否有文件时,据说该文件存在,然后我只是将它放入文件夹中:
if($this->request->hasFile('image_url')!=''){
$image = $this->request->file('image_url');
file_put_contents(storage_path().'/'.$time.'.'.$image->extension(), $image);
}
保存的文件具有 png 扩展名,大小为 1 KB,任何文件浏览器都无法打开。手动更改扩展没有帮助。
问题出在我的代码中还是与插件有关?
【问题讨论】:
标签: php jquery laravel crop form-data