问题标签 [force-download]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
9083 浏览

php - PHP 中防白痴、跨浏览器强制下载

我正在使用强制下载来下载我所做的网站(http://pr1pad.kissyour.net)上的大部分 zip 和 mp3 - 以跟踪谷歌分析、数据库中的下载并隐藏真实的下载路径:

是这样的:

它在带有 CI 1.7.2 的 LAMP 上 - 这是我自己的方法,来自互联网上的各种方法,因为在开发过程中,出现了这些问题: -服务器限制ini_set没有帮助,所以我使用缓冲_fullread而不是正常fread,它被用于@readonly - ob_end_flush(),因为站点是在 CI1.7.2 中完成的,我需要清理缓冲区

现在......它不起作用。它确实如此,然后它停止显示预期的大小/下载时间 - 我试图清理它,当我清理代码时,发生了一些事情,我不知道在任何以前的版本中是什么 - 它没有工作(没有更改设置) -编辑:不工作=将所有内容输出到浏览器窗口。

所以我说,去他妈的,我会看这里。

所以,我基本上是在寻找脚本或函数,我可以把它放到我的输出模型中并且会做:

  • 调用 force-download(在 Chrome 中开始下载,在 IE、FF、Safari 中打开 modal open/save/cancel)
  • 显示文件大小和估计的 dl 时间(这取决于浏览器,我知道,但首先,浏览器必须知道文件大小
  • 在 PC + Mac 上的 IE6、7、8、FF3、Opera、Chrome & 和 safari 中工作(测试并确认!)
  • 在服务器上,我也有 56MB 内存限制,我无法添加,所以这也很重要

先感谢您。

编辑:现在我感觉比以前/以前更糟了,因为我试图用 .htaccess 强制下载 - 虽然它有效,但它几乎没有小/主要(选择你的)问题

  • 它显示了完整的路径(对我来说是次要的)
  • 它等到整个下载完成(显示为“正在连接”),然后只显示它正在下载 - 并在一秒钟内下载(对我来说很重要)

现在,虽然我删除了.htaccess,但它仍然等到下载完成(就像它首先下载到缓存一样),它只是获取connected并显示打开/保存对话框。

0 投票
1 回答
1163 浏览

php - PHP readfile 用于强制下载文件和图像

我想使用 readfile() 通过 php 发送文件

我注意到的是 readfile 强制下载,但是如果我想在浏览器中显示图像而不强制下载怎么办?

即使文件是图像,readfile 仍然会强制下载吗?

如果是这样,是否有解决方案,以便当文件是图像时我可以使用标签?

谢谢!

0 投票
1 回答
5483 浏览

google-chrome - 在 Google Chrome 扩展程序中强制下载

我正在编写一个 Google Chrome 扩展程序,可让您下载数据的备份文件。我希望用户能够按下按钮并打开“另存为”对话框,他们可以将文件保存到他们的计算机。似乎没有任何效果,我还没有在互联网上找到答案。我尝试了几种方法:

  1. 使用document.execCommand('SaveAs', null, 'filename.json');This 不起作用,因为此命令仅适用于 IE,并且似乎没有 Webkit-alternative
  2. 使用数据 URI。这是在 Opera 和 Firefox 中最有前途和最有效的方法,但问题是 Chrome 和 Safari 似乎都不支持 URI 中的 Content-disposition=attachment;-header。这应该有效。(Chrome 甚至不允许我ctrl/cmd+s从数据 URI 访问页面)
  3. 使用XMLHTTPRequest. 我还没有尝试过,但是必须有某种方式可以转发请求?请注意,我不想使用外部服务器(在这种情况下,我可以简单地发送一个 POST 请求并应用一个 Content-disposition:-header)
  4. 使用可用的 Chrome 扩展 API。但似乎没有任何东西可以用于此目的。

我不想使用任何外部服务器的原因是我不想支付托管费用,并且发送的数据可能对用户很敏感,我不想侵犯任何人的隐私。

有没有人让这个工作?

0 投票
1 回答
1303 浏览

php - 强制下载 PDF 文件的问题

我有以下功能来强制下载文件:

我发送一个 PDF 文件和 contentType = "application/pdf"。问题是当我尝试打开下载的 PDF 文件时,它显示“打开此文档时出错。文件可能已损坏”。很奇怪,因为我可以打开原始文件,它们看起来完全一样(文件名、大小等)

0 投票
2 回答
2200 浏览

php - Codeigniter 强制下载 IE

我在ie中的下载助手遇到问题..基本上我建立了一个网站,在这两种情况下动态创建pdf发票和pdf证明,强制下载在firefox,chrome和opera中效果很好。在 IE 中,它每次都失败,我收到以下错误:无法从 mysite.com 下载 $filename

无法打开此 Internet 站点。请求的站点不可用或找不到。请稍后再试。

要开始 force_download,我有一个锚定目标 _blank,其 url 指向以下控制器:

最初我认为我的 IE 可能有问题,但我可以在其他网站上下载 PDF。然后我认为这可能是codeigniters下载帮助程序的问题,但我看到他们已经在帮助程序中为IE做出了特殊规定。

如果您有任何想法,请告诉我。谢谢你。

0 投票
2 回答
36384 浏览

php - PHP创建文件以供下载而不保存在服务器上

最终目标:我想创建一个用户可以在表单中输入信息的网页。有了这些信息,我想通过将给定的信息插入模板然后强制下载来创建一个 html 文件(下面称为 test-download.html)。由于我想在即将举行的研讨会上演示这一点,人们将在“同时”使用它,我不想将文件保存在服务器上,而只是强制下载。

到目前为止:我的 html 文件(test.html)中有这个:

这在我的 test.php 中:

这会覆盖 test-download.html 文件并强制下载。

问题:如何在不弄乱服务器上的文件(test-download.html)的情况下做到这一点?

0 投票
1 回答
15715 浏览

codeigniter - Codeigniter:下载文件并重定向

我在这个页面上有一个表格http://www.obsia.com/products/thassos_wonder_brochure/ 在点击提交时,我希望它开始下载文件并重定向到感谢页面。但我只能下载文件或重定向或加载感谢下载页面。

这是检查表单并提交的功能:

以下是感谢页面上的代码,以重定向到下载页面结尾:(更新)

这是我在下载页面上使用的代码。如何下载文件并将其重定向到感谢页面。

任何帮助将不胜感激。

0 投票
6 回答
14723 浏览

php - 如何在不使用太多内存的情况下强制下载大文件?

我正在尝试向用户提供大型 zip 文件。当有 2 个并发连接时,服务器会耗尽内存 (RAM)。我将内存量从 300MB 增加到 4GB(Dreamhost VPS),然后它运行良好。

我需要允许超过 2 个并发连接。实际的 4GB 将允许 20 个并发连接(太糟糕了)。

好吧,我正在使用的当前代码需要两倍的内存,然后是实际的文件大小。这太糟糕了。我想要将文件“流式传输”给用户之类的东西。所以我会分配不超过提供给用户的块。

以下代码是我在 CodeIgniter(PHP 框架)中使用的代码:

force_download函数如下(CodeIgniter默认辅助函数):

我尝试了一些在 Google 中找到的基于块的代码,但文件总是被损坏。可能是因为代码不好。

有人可以帮我吗?

0 投票
4 回答
100343 浏览

javascript - 使用 Javascript 强制下载图像

我想知道是否有任何方法可以使用 Javascript/jQuery 制作脚本来下载(打开下载对话框)图像,这样浏览器就不会只显示它。

0 投票
3 回答
4645 浏览

codeigniter - CodeIgniter 中的 PHPWord 类没有生成正确的,在 word 文件中抛出错误

好的,所以我对可以找到的 PHPWord 类有困难:http: //phpword.codeplex.com

奇怪的是,当我在“示例”文件中使用相同的代码时,它可以正常生成。当我不使用标题强制下载时,文件会很好地打开。尽管使用此代码和标题会导致它在下载时在 word 文件中抛出错误,说文件已损坏且无法打开,但随后它打开就好了。

这是我在尝试生成文件时使用的代码。我遇到的麻烦是它在尝试强制下载时抛出错误。谢谢你的帮助!如果您不完全理解问题,请提出问题。

更新:

这是我收到的错误图像。感谢您的快速回复,我实际上将尝试使用 Codeigniters 的方式进行操作,Tom。早晨。

单词错误