gpt4 book ai didi

laravel - 文件上传损坏

转载 作者:行者123 更新时间:2023-12-04 00:56:22 26 4
gpt4 key购买 nike

我正在尝试将文件上传到共享点

  1. 仅使用 axios 的成功尝试如下 enter image description here

  2. 如果我使用 Guzzle 上传失败 enter image description here enter image description here

最后上传的文件已损坏

enter image description here

最佳答案

您需要修改一些内容才能使其正常工作(在我这边进行了测试):

  1. 要获取文件的内容,您需要$request->file('file') 然后在其上使用file_get_contents()。您可能会丢失 get() 部分。

  2. 确保您发送的 header 也接受 multipart/form-data:

    "Accept" => "multipart/form-data"
  3. 表单中的字段 namefilename 是两个不同的东西。前者是字段名,后者是文件名。你需要发送两个。

试试这个:

protected function uploadFile(Request $request){
$file = $request->file('file');
$body = [
"headers" => [
"Accept" => "multipart/form-data",
"Authorization" => "Bearer {$this->token}"
],
"multipart" => [
"name" => "file",
"contents" => file_get_contents($file),
"filename" => $file->getClientOriginalName()
]
];
return (new Client)->request('POST', 'https://.sharepoint.com/...', $body);
}

附言- 您可以使用 isValid() 检查文件是否有效:

if ($request->file('file')->isValid()) {
//
}

官方文档:https://laravel.com/docs/7.x/requests#retrieving-uploaded-files

关于laravel - 文件上传损坏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62257132/

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