【发布时间】:2021-12-01 12:22:09
【问题描述】:
重要!这仅发生在托管服务器中。本地主机上传没问题
我正在尝试使用 AJAX 将我的图像上传到我的 laravel 控制器。通过使用dd($request),请求为空
Javascript 代码:
function addLogo() {
console.log('test');
$('#logoinvois .msg').text('');
$('#logoinvois .msg').hide();
// var form = $('#form_invois_logo')[0];
// var formData = new FormData(form);
var formData = new FormData();
var file_data = $('#logo_invois').prop('files')[0];
formData.append('logo_invois', file_data);
for (var pair of formData.entries()) {
console.log(pair[0] + ', ' + pair[1]);
}
// return;
$.ajax({
url: '/invois/add_logo',
type: 'post',
data: formData,
cache: false,
processData: false,
contentType: false,
enctype: 'multipart/form-data',
success: function(data) {
console.log(data);}});}
Laravel 控制器:
public function save_logo(Request $request)
{
dd($request->all());
$request->validate(
[
'logo_invois' => 'required|mimes:jpeg,jpg,png|max:500',
],
[
'logo_invois.required' => 'Pilih gambar',
'logo_invois.mimes' => 'Jenis fail hanya jpeg,jpg,png',
'logo_invois.max' => 'Saiz yang dibenarkan adalah kurang 500KB',
]
);
【问题讨论】:
-
add_logo 路由是否指向 save_logo 控制器函数?
-
是的,正如我所提到的,在 localhost 中上传图片是正常的,但是当我在托管服务器上部署 Web 应用程序时出现问题
-
好吧,与其依赖对整个基础架构了解有限信息的随机人员,不如自己进行调试并通过查看日志和跟踪面包屑来找出问题所在。 Laravel 有日志,你的服务器也应该有。有时你只需要自己想办法。乍一看,您在帖子中显示的所有内容看起来都没有问题。你甚至说它在本地工作,所以弄清楚你的本地实例和生产实例之间有什么不同。
-
从控制器返回值到 console.log 显示消息表明没有提交图像
-
也许有人遇到这个问题并解决它