gpt4 book ai didi

javascript - Laravel 500 错误,Base64 图像,Ajax 和数组的

转载 作者:行者123 更新时间:2023-11-30 11:31:42 25 4
gpt4 key购买 nike

我正在上传,或者更确切地说,尝试使用 Ajax 将图像上传到我的 Laravel 网站。我将图像转换为 Base64 并将它们上传到服务器。它有效,有点。

我的问题是出现 500 错误。 It's the response from the server in an Iframe

这是服务器在 iframe 中的响应

问题是,我不会一直收到此错误。只有当我尝试对响应做一些事情时,我才会得到它。

这是我处理上传的方法。当我像这样运行它时,一切正常,我没有收到错误。

public function upload(Request $request)
{

return var_dump($request->all());
}

但它是一个数组。所以要用它做点什么,我必须指定 key 。唯一的问题是,一旦我这样做,我就会收到 500 错误。

我想将 base64 字符串转换回图像,所以我想这样做:

file_put_contents('foo.png', base64_decode($request->all()[0]));

但这会产生错误。 $request->all() 末尾的 [0]

我无法删除它,因为它需要一个 base64 字符串而不是数组。我还想知道如果我在 var 转储中将 [0] 添加到 $request-all() 的末尾会发生什么,但我仍然遇到错误。

我只是不明白。

这是我的 Ajax 调用:

    $.ajax({
url: "/admin/upload",
type: "POST",
data: queue,
processData: false,
error: function(xhr, status, error) {
let err = xhr.responseText;
//console.log(err);
$('#upload-InnerPanel').append("<iframe width='600' height='500' src='" + err +"'> </iframe>")
},
success: function (xhr) {
console.log(xhr);
},
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});

最佳答案

在评论中回答了,但仍然将其作为答案发布:

收到的 $request 值没有数字索引,因此您需要使用它的名称来访问它。而不是 $request->all()[0] , 你需要使用 $request->theData ,或在表单中命名的任何值。

关于javascript - Laravel 500 错误,Base64 图像,Ajax 和数组的,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46009370/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com