我使用Laravel创建了一个Restful API,该API如下:
http://127.0.0.1:8000/api/file/pdf/{id}
这是我的下载代码:
public function pdfDownload($id){
$pdf = Cv::findOrfail($id);
return Storage::download('public/pdf/'.$pdf->pdf);
}
它在邮递员中工作,也在浏览器中工作,直接下载文件,但使用react。js,它不工作,这是我在react中的代码:
pdfDownload = (id) => {
fetch(' http://127.0.0.1:8000/api/file/pdf/' + id, {
method: 'get',
headers: {
Accept: 'application/octet-stream',
'Content-Type': 'application/octet-stream'
}
}).then((res) => res.json());
};
我在按钮中调用这个函数,如下所示:
<Button color="primary" onClick={() => this.pdfDownload(data.id)}>
Download
</Button>
id已更正,我由此确定,我的问题是单击此按钮时如何下载文件。。丹。。。
XHR调用不能触发文件下载,浏览器处理它的方式。你将不得不模仿一个文件下载使用javascript代码自己,使用像下面这样的东西:
参考文献
const url = window.URL.createObjectURL(new Blob([response.data]));
const link = document.createElement('a');
link.href = url;
link.setAttribute('download', 'file.pdf');
document.body.appendChild(link);
link.click();
或者使用文件保护程序包,如果你不介意一个额外的依赖。
文件保存器
我试图通过调用Spring RESTendpoint在Reactjs中下载Excel文件,但我遇到了损坏文件的问题。 回应呼叫... Spring控制器…… 服务 当我执行上面的代码,我得到一个Excel文件o. k……但看response.data看起来像…… 嘎嘎��由于数据不可读,无法打开文件。打开服务器上创建的文件是可以的 欢迎任何想法 干杯
我想把一个示例xlsx文件放在我的公用文件夹(react项目)中,其他人可以下载这个文件。 我该怎么做?
下载 <?php /** * 下载文件请求示例 */ require dirname(__DIR__) . '/vendor/autoload.php'; use Yurun\Util\HttpRequest; use Yurun\Util\YurunHttp; use Yurun\Util\YurunHttp\Handler\Swoole; $url = 'http://www.baid
我正在使用Postman测试一个视图,该视图应该允许用户下载excel文件。这是视图。。 问题是,当我测试这个视图时,我无法从postman那里获得下载提示。相反,我从邮递员的回复中得到了损坏的数据。以下是一个示例输出: 为什么我不能下载文件?我错过了什么吗?
它抛出以下错误:
问题内容: 我正在尝试使用Flask创建一个Web应用程序,该应用程序允许用户上传文件并将其提供给其他用户。现在,我可以将文件正确地上传到upload_folder了。但是我似乎找不到找到让用户下载回来的方法。 我将文件名的名称存储到数据库中。 我有一个为数据库对象服务的视图。我也可以删除它们。 在我的HTML中,我有: 和下载视图: 但它正在返回: 未找到 在服务器上找不到请求的URL。如果您手