【问题标题】:Laraval handling file retrieved from another Laraval api从另一个 Laravel api 检索的 Laravel 处理文件
【发布时间】:2022-01-05 13:26:34
【问题描述】:

我有 2 个 Laravel API。
一个 API 使用 curl 从第二个请求文件。 我想在不调用 new UploadedFile() 的情况下将文件作为 UploadedFile 获取。
或者作为替代方案,我想创建带有响应内容的 UploadedFile,而不将其保存为临时文件(然后使用临时路径调用 new UploadedFile())。

第一个请求文件的 API:

    $url = 'http://someurl.org';

    $CR = curl_init();
    curl_setopt($CR, CURLOPT_URL, $url);
    curl_setopt($CR, CURLOPT_FAILONERROR, true);
    curl_setopt($CR, CURLOPT_RETURNTRANSFER, 1);
    curl_setopt($CR, CURLOPT_HEADER, 1);
    $response = curl_exec($CR);
    

    curl_close($CR);
    return $response;

Response print screen

第二个 API:

public function getFile(string $fileId)
{
    $recordedFile = RecordedFile::where('file_id', $fileId)->first();
    if (!$recordedFile) {
        return response(['message' => 'file not found'], 400);
    }
    $headers = [
        'Content-type' => Storage::mimeType($recordedFile->path),
        'Content-Disposition' => 'attachment; filename=' . $recordedFile->original_name .''
    ];

    $file = Storage::get($recordedFile->path);
    return response($file, 200, $headers);
}

【问题讨论】:

    标签: php laravel curl file-handling


    【解决方案1】:

    找到这个。 https://gist.github.com/waska14/f3be9c1cf0731a85753c9f34e9fca348

    FileHelper::fromBase64($this->input('file')) 部分帮助了我。

    【讨论】:

      猜你喜欢
      • 2023-03-26
      • 2019-12-10
      • 2019-12-19
      • 2018-07-22
      • 2013-10-08
      • 1970-01-01
      • 1970-01-01
      • 2018-10-27
      • 2020-08-11
      相关资源
      最近更新 更多