Tag: 下载

如何使用Java REST服务和数据流下载文件

我有3台机器: 文件所在的服务器 正在运行REST服务的服务器(Jersey) 客户端(浏览器)可访问第二台服务器但无法访问第一台服务器 如何直接(不保存第二台服务器上的文件)将文件从第一台服务器下载到客户机器? 从第二台服务器我可以得到一个ByteArrayOutputStream来从第一台服务器获取文件,我可以使用REST服务将此流进一步传递给客户端吗? 它会这样工作吗? 基本上我想要实现的是允许客户端使用第二台服务器上的REST服务从第一台服务器下载文件(因为没有从客户端到第一台服务器的直接访问)只使用数据流(所以没有数据接触文件第二服务器系统)。 我现在尝试使用EasyStream库: final FTDClient client = FTDClient.getInstance(); try { final InputStreamFromOutputStream isOs = new InputStreamFromOutputStream() { @Override public String produce(final OutputStream dataSink) throws Exception { return client.downloadFile2(location, Integer.valueOf(spaceId), URLDecoder.decode(filePath, “UTF-8”), dataSink); } }; try { String fileName = filePath.substring(filePath.lastIndexOf(“/”) + 1); StreamingOutput output = new StreamingOutput() { @Override […]

如何在java控制台(没有UI)中显示下载文件的百分比进度?

我的java代码部分如下。 while (status == DOWNLOADING) { /* Size buffer according to how much of the file is left to download. */ byte buffer[]; if (size – downloaded > MAX_BUFFER_SIZE) { buffer = new byte[MAX_BUFFER_SIZE]; } else { buffer = new byte[size – downloaded]; } // Read from server into buffer. int read = stream.read(buffer); if […]

JSP下载 – application / octet-stream

我在JSP中有一个页面列出了一些可以由用户下载的文件。 Thoses文件不在本地服务器上,它们位于远程文件服务器上。 当用户单击下载文件时,Web服务器通过TCP连接到文件服务器。 Web服务器下载文件并为客户端创建HTTP响应。 这是我的代码: <% out.clearBuffer(); String nomFichier = request.getParameter("fichier"); String adresseStockage = request.getParameter("adresseStockage"); ClientTCPStockage clientStockage = new ClientTCPStockage(InetAddress.getByName(adresseStockage), 2004); byte donneeFichier[] = clientStockage.getDonneesFichier(nomFichier); response.setHeader("Content-Disposition", "attachment;filename=\"" + nomFichier + "\""); response.setHeader("Content-Type", "application/octet-stream;"); response.setHeader("Accept-Ranges", "bytes"); response.setHeader("Content-Length", String.valueOf(donneeFichier.length)); for(int i = 0; i 这对于基于文本的文件非常好,例如.csv或普通.txt,但它不适用于其他类型,如.mp3或.jpeg ..这些文件最终会损坏。 我认为我的编码存在问题,但我无法找到… 这是HTTP标头响应: HTTP/1.x 200 OK Server: Apache-Coyote/1.1 Content-Disposition: attachment;filename=”test.mp3″ Accept-Ranges: bytes […]

测量下载速度Java

我正在努力下载一个软件上的文件,这是我得到的,它可以下载,并且我可以获得进步,但还有一件事我不知道该怎么做。 测量下载速度。 我很感激你的帮助。 谢谢。 这是当前的下载方法代码 public void run() { OutputStream out = null; URLConnection conn = null; InputStream in = null; try { URL url1 = new URL(url); out = new BufferedOutputStream( new FileOutputStream(sysDir+”\\”+where)); conn = url1.openConnection(); in = conn.getInputStream(); byte[] buffer = new byte[1024]; int numRead; long numWritten = 0; double progress1; while ((numRead […]

Java服务器端发送带恢复支持的文件?

我试图让我的java服务器传输一个Web浏览器可以下载的文件。 但是,我想要浏览器,如果他们暂停并恢复文件传输工作,而不是重新开始下载。 有谁知道服务器端的java代码来解决这个问题?

使用Apache Commons FTPClient监控进度

我有一个简单的FTPClient类,从FTP服务器下载文件。 我还需要监控下载的进度,但我没有看到怎样的方式。 实际下载文件function是一个简单的function (your ftp client name).retrieveFile(arg1,arg2); 如何监控下载进度? 谢谢,Anon。

使用java从Internet下载文件:如何进行身份validation?

感谢这个线程如何使用Java从Internet下载和保存文件? 我知道如何下载文件,现在我的问题是我需要在我正在下载的服务器上进行身份validation。 它是subversion服务器的http接口。 我需要查看哪个字段? 使用上一条评论中发布的代码,我得到了以下exception: java.io.IOException: Server returned HTTP response code: 401 for URL: http://myserver/systemc-2.0.1.tgz at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1305) at java.net.URL.openStream(URL.java:1009) at mypackage.Installer.installSystemc201(Installer.java:29) at mypackage.Installer.main(Installer.java:38) 谢谢,

如何在java web应用程序中将byte 作为pdf发送到浏览器?

在动作方法(JSF)中我有类似下面的内容: public String getFile() { byte[] pdfData = … // how to return byte[] as file to web browser user ? } 如何将byte []作为pdf发送到浏览器?

使用HTTP请求下载文件的一部分

我正在尝试下载PDF文件的一部分(仅用于测试“Range”标题)。 我请求服务器获取Range中的字节(0-24),但仍然不是从内容中获取前25个字节(一部分),而是获取全长内容。 此外,我没有得到响应代码206(部分内容),而是将响应代码设置为200。 这是我的代码: public static void main(String a[]) { try { URL url = new URL(“http://download.oracle.com/otn-pub/java/jdk/7u21-b11/jdk-7u21-windows-x64.exe?AuthParam=1372502269_599691fc0025a1f2da7723b644f44ece”); HttpURLConnection urlConnection = (HttpURLConnection) url.openConnection(); urlConnection.setRequestProperty(“Range”, “Bytes=0-24”); urlConnection.connect(); System.out.println(“Respnse Code: ” + urlConnection.getResponseCode()); System.out.println(“Content-Length: ” + urlConnection.getContentLengthLong()); InputStream inputStream = urlConnection.getInputStream(); long size = 0; while(inputStream.read() != -1 ) size++; System.out.println(“Downloaded Size: ” + size); }catch(MalformedURLException mue) { […]

如何在使用chrome driver / firefox驱动程序时更改Webdriver中的文件下载位置

我试图通过在特定文件夹中使用另存为选项来保存图像。 我找到了一种方法,通过该选项,我可以右键单击要保存的图像。 但我遇到的问题是在获取os窗口后询问保存文件的位置,我无法发送所需的位置,因为我不知道该怎么做。 我经历了在这个论坛上提出的类似问题,但到目前为止他们没有帮助过。 代码是 – 对于Firefox- public class practice { public void pic() throws AWTException{ WebDriver driver; //Proxy Setting FirefoxProfile profile = new FirefoxProfile(); profile.setAssumeUntrustedCertificateIssuer(false); profile.setEnableNativeEvents(false); profile.setPreference(“network.proxy.type”, 1); profile.setPreference(“network.proxy.http”, “localHost”); profile.setPreference(“newtwork.proxy.http_port”,3128); //Download setting profile.setPreference(“browser.download.folderlist”, 2); profile.setPreference(“browser.helperapps.neverAsk.saveToDisk”,”jpeg”); profile.setPreference(“browser.download.dir”, “C:\\Users\\Admin\\Desktop\\ScreenShot\\pic.jpeg”); driver = new FirefoxDriver(profile); driver.navigate().to(“http://stackoverflow.com/users/2675355/shantanu”); driver.findElement(By.xpath(“//*[@id=’large-user-info’]/div[1]/div[1]/a/div/img”)); Actions action = new Actions(driver); action.moveToElement(driver.findElement(By.xpath(“//*[@id=’large-user-info’]/div[1]/div[1]/a/div/img”))).perform(); action.contextClick().perform(); Robot robo = […]