有没有办法从JSF支持bean动作方法提供文件下载?我尝试过很多东西.主要问题是我无法弄清楚如何获取OutputStream响应以便将文件内容写入.我知道如何使用a Servlet,但这不能从JSF表单调用,需要新的请求.
如何OutputStream从当前获得响应FacesContext?
可能重复:
如何使用请求下载图像
我知道获取URL非常简单requests.get,我可以获取原始响应体并将其保存到文件中,但是对于大文件,有没有办法直接流式传输到文件?就像我正在下载带有它的电影一样?
我需要使用curl下载远程文件.
这是我的示例代码:
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$st = curl_exec($ch);
$fd = fopen($tmp_name, 'w');
fwrite($fd, $st);
fclose($fd);
curl_close($ch);
Run Code Online (Sandbox Code Playgroud)
但它无法处理大文件,因为它首先读取内存.
是否可以将文件直接流式传输到磁盘?
我正在开发一个iOS项目.
在此应用程序中,我正在从服务器下载图像.
问题:
在下载图像时,我收到请求超时.根据文档HTTP请求超时的状态代码是408.
但在我的应用程序中,我收到HTTP状态代码0,出现以下错误
错误域= NSURLErrorDomain代码= -1001"请求超时." UserInfo = 0xb9af710 {NSErrorFailingURLStringKey = http://xxxx.com/resources/p/PNG/1383906967_5621_63.jpg,NSErrorFailingURLKey = http://xxxx.com/resources/p/PNG/1383906967_5621_63.jpg,NSLocalizedDescription =请求超时.,NSUnderlyingError = 0x13846870"请求超时."}
在搜索期间,通过互联网,我找不到有关HTTP状态代码0的信息.
任何人都可以向我解释这个吗?
今天我检查了mega.co.nz,我很兴奋一些功能.例如,在下载页面中,它将在浏览器上下载文件,之后用javascript解密它们.
例如,请参阅此链接以下载png文件:
https://mega.co.nz/#!7JRgFJzJ!efpJGWuPhYczLexY19ex82nuwfs4sR_DG4JXddeClH4
在此链接中,它将在浏览器中开始下载.我检查了检查元素中的网络选项卡,它将在完成文件的所有部分之后用AJAX下载部分文件,将它们全部保存在计算机上的一个文件中!
我想知道他们做了什么?你可以解释或链接到某些关于浏览器内部下载文件的资源吗?
也可以只使用javascript或应该使用一些Flash插件或类似的东西吗?
我使用以下代码从我的服务器下载文件,然后将其写入SD卡的根目录,一切正常:
package com.downloader;
import java.io.File;
import java.io.FileOutputStream;
import java.io.InputStream;
import java.net.HttpURLConnection;
import java.net.URL;
import android.os.Environment;
import android.util.Log;
public class Downloader {
public void DownloadFile(String fileURL, String fileName) {
try {
File root = Environment.getExternalStorageDirectory();
URL u = new URL(fileURL);
HttpURLConnection c = (HttpURLConnection) u.openConnection();
c.setRequestMethod("GET");
c.setDoOutput(true);
c.connect();
FileOutputStream f = new FileOutputStream(new File(root, fileName));
InputStream in = c.getInputStream();
byte[] buffer = new byte[1024];
int len1 = 0;
while ((len1 = in.read(buffer)) > 0) {
f.write(buffer, 0, len1);
}
f.close();
} …Run Code Online (Sandbox Code Playgroud) 你好,我是phpexcel的新手,我想知道是否有某种方式将我创建的excel发送到客户端下载而不保存在我的服务器上或者在下载后立即将其删除
我正在尝试在页面上创建一个"导出按钮",该页面将为用户提供他想要我刚刚创建的excel的"弹出窗口".
现在我创建表后,我做:
$objXLS->getActiveSheet()->getColumnDimension("A")->setAutoSize(true);
$objXLS->getActiveSheet()->getColumnDimension("B")->setAutoSize(true);
$objXLS->getActiveSheet()->setTitle('Test Stats');
$objXLS->setActiveSheetIndex(0);
$objWriter = PHPExcel_IOFactory::createWriter($objXLS, 'Excel5');
$objWriter->save(__DIR__."/test1.xls");
Run Code Online (Sandbox Code Playgroud)
但是它将它保存到我的服务器上
谢谢
我有一个在flash播放器中播放mp3的网站.如果用户点击"播放",则Flash播放器会自动下载并开始播放.
有没有一种简单的方法可以跟踪特定歌曲片段(或任何二进制文件)的下载次数?
播放链接是指向实际mp3文件的链接还是弹出播放器的一些javascript代码?
如果是后者,您可以轻松地在其中添加自己的日志记录代码以跟踪其命中数.
如果是前者,您将需要能够跟踪Web服务器日志本身并进行区分的内容.我的托管计划附带webalizer,它做得很好.
这是javascript代码,所以答案.
但是,知道如何使用其他方法跟踪下载(没有切换主机)会很高兴.
一个页面包含一组.zip文件的链接,所有这些文件都要我下载.我知道这可以通过wget和curl来完成.怎么做?
当我运行Android SDK管理器下载SDK平台时,下载速度为8 KiB/s.下载Android 2.2,API 8等平台需要2个多小时.通过浏览器下载内容没有问题.有谁知道如何解决这个问题?