我将使用 FastAPI 创建一个 API HTML,使用pdfkit. 但是,它将文件保存到我的本地磁盘。当我在线提供此API后,用户如何将该PDF文件下载到他们的计算机上?
from typing import Optional
from fastapi import FastAPI
import pdfkit
app = FastAPI()
@app.post("/htmltopdf/{url}")
def convert_url(url:str):
pdfkit.from_url(url, 'converted.pdf')
Run Code Online (Sandbox Code Playgroud) 将 post 请求发送到 Laravel 控制器内的另一个 api。它返回 .pdf 文件作为响应。我想将此文件保存到存储中。我收到 FileNotFound 异常。
这是代码
public function cvToPDF(Request $request)
{
$response = Http::withHeaders(['Content-Type' => 'application/pdf'])
->withToken(Request()->bearerToken())
->post('http://some-endpoint', $request->all());
Storage::disk('s3')->putFile('drive/files', $response);
return $response;
}
Run Code Online (Sandbox Code Playgroud)
return $response 在客户端有效。我可以使用此端点下载 pdf。但 Storage::disk 引发异常。