我使用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
问题内容: 我正在尝试使用Flask创建一个Web应用程序,该应用程序允许用户上传文件并将其提供给其他用户。现在,我可以将文件正确地上传到upload_folder了。但是我似乎找不到找到让用户下载回来的方法。 我将文件名的名称存储到数据库中。 我有一个为数据库对象服务的视图。我也可以删除它们。 在我的HTML中,我有: 和下载视图: 但它正在返回: 未找到 在服务器上找不到请求的URL。如果您手
问题内容: 我是使用Django的新手,我正在尝试开发一个网站,用户可以在其中上传许多excel文件,然后将这些文件存储在媒体文件夹Webproject / project / media中。 然后,该文档会与它们上载的任何其他文档一起显示在列表中,你可以单击这些文档,它会显示有关它们的基本信息以及他们上载的excelfile的名称。从这里,我希望能够使用链接再次下载相同的excel文件: 我的网
问题内容: 我正在使用简单的文件下载脚本: 它在最大200mb的本地服务器上运行。 当我在我的网站上尝试此代码时,它将下载173KB而不是200MB的文件。 我检查了所有内容,编写了一些自定义代码(使用ob函数和fread而非readfile),但无法下载大文件。 谢谢您的回答。 我正在使用Apache 2.2,PHP 5.3 可以处理所有大文件的所有PHP设置。(执行时间,内存限制,… 问题答案