ajax - 无法在laravel中通过ajax上传图片
问题描述
我尝试在 laravel 中通过 ajax 上传图片。
这是我的js代码:
$('#profile_picture').on('submit', function(event){
event.preventDefault();
$.ajax
({
type: "POST",
url: "{{url('all/update-profile-picture')}}",
data:new FormData(this),
dataType:'json',
type:'post',
processData: false,
contentType: false,
cache:false,
}).done( function(data){
//swal("Good job!", "Your information has been successfully updated!", "success")
console.log('Ajax was Successful!')
console.log(data)
}).fail(function(xhr, textStatus, error){
console.log(textStatus)
console.log(error)
});
});
这是控制器代码:
$validation = Validator::make($request->all(), [
'profile_photo'=> 'required|image|mimies:jpeg,png,jpg,gif|max:2048'
]);
if ($validation->passes()) {
//$image = $request->file('profile_photo');
$new_name = time().'.'.$request->image->getClientOriginalExtension();
$request->image->move(public_path("photo"),$new_name);
return response()->json([
'message' => 'Image uploaded successfully'
]);
} else {
return response()->json([
'message' => $validation->errors()->all(),
'profile_photo' => '',
'class_name' => 'danger'
]);
}
我希望它是我的控制器的问题。当单击带有空白的提交时,它会在控制台中看到错误消息。
我不明白这是什么问题??
解决方案
您需要使用 file() 方法来获取您的请求文件。
$validation = Validator::make($request->all(), [
'profile_photo'=> 'required|image|mimies:jpeg,png,jpg,gif|max:2048'
]);
if ($validation->passes()) {
$new_name = time().'.'.$request->file('profile_photo')->getClientOriginalExtension();
$request->file('profile_photo')->move(public_path("photo"),$new_name);
return response()->json([
'message' => 'Image uploaded successfully'
]);
}
return response()->json([
'message' => $validation->errors()->all(),
'profile_photo' => '',
'class_name' => 'danger'
]);
推荐阅读
- search - 问:Atom 编辑器上的大写/小写搜索问题
- python - 尝试使用 Sendinblue/Sendgrid SMTP 发送忘记密码的电子邮件时出现 SMTPRefused 错误
- git - Git:与 Funtoo 钥匙串集成
- java - Java 找不到文件作为本机代码颤动
- android - 尝试在 Android Studio 中运行时出现 AVD 错误
- python - 在使用集合 Dijkstra Shortest Path Algorithim 的字典中删除给定节点时出现 KeyError
- node.js - 从不同文件夹执行节点 cli 应用程序时,dontenv(npm 模块)不加载正确的 .env 文件
- logging - 如何使用 NLog 直接记录到 Datadog
- wordpress - 如何正确扩展 Gutenberg 块核心/引用块?
- python - 在 Django TEMPLATES 中设置 DIRS url 时遇到问题