【发布时间】:2019-04-03 04:54:31
【问题描述】:
我在 dx grid devextreme 中使用 laravel PHP,上传 imgae 时遇到问题。 由于图像保存在服务器中,但现在我想通过在单击行时获取用户 ID 在数据库中添加图像... 我怎么也需要更新数据库和前端中的图像..enter image description here
控制器:
public function uploadImg(Request $request)
{
if($request['fileInput']) {
$fileName = time().'_'.basename($_FILES["fileInput"]["name"]);
$targetDir = "storage/users/";
$targetFilePath = $targetDir . $fileName;
$fileType = pathinfo($targetFilePath,PATHINFO_EXTENSION);
$allowTypes = array('jpg','png','jpeg','gif');
if(in_array($fileType, $allowTypes)) {
if(move_uploaded_file($_FILES["fileInput"]["tmp_name"], $targetFilePath)) {
return redirect()->back();
} else {
$response['status'] = 'err';
}
} else {
$response['status'] = 'type_err';
}
echo json_encode($response);
}
}
Javascript:
dataField: "avatar",
caption: "Add Image",
width: 200,
alignment: 'center',
formItem: {
visible: false
},
width: 100,
alignment: 'center',
type:"button",
cellTemplate: function (container, options) {
$("<div />")
.text('Upload')
.on('dxclick', function () {
// alert('ok');
$('#fileInput').trigger('click',function() {
id: "users->id",
$("#imageform").onValueChanged(function() {
// uploadUrl: "{{route('upload')}}"
$("#form").submit();
})
});
})
.appendTo(container);
}
},
【问题讨论】:
-
使用 devexpress 团队提供的 文件上传器 怎么样? js.devexpress.com/Demos/WidgetsGallery/Demo/FileUploader/… 。此外,
users->id对我来说听起来很奇怪。您确定上面的代码按预期工作吗?另外,如果您使用的是 php,则可以检查这一点:js.devexpress.com/Documentation/Guide/Widgets/FileUploader/… -
这给出错误,而 tmp_name 没有在服务器端获取并且没有移动图像,这就是我在这种情况下使用 php 代码的原因
标签: javascript laravel laravel-5 devexpress devextreme