Tag: 下载

用Java下载PDF是否已损坏?

我已经阅读了关于如何使用Java从Internet下载和保存文件的优秀讨论。 但是,如果我执行下一个代码,我会得到一个损坏的PDF。 知道为什么吗? import java.io.*; import java.net.*; public class PDFDownload { public static String URL = “http://www.nbc.com/Heroes/novels/downloads/”; public static String FOLDER = “C:/Users/sdelamo/workspace/SandBox/HeroesNovel/”; public static void main(String[] args) { String filename = “Heroes_novel_001.pdf”; try { saveUrl(FOLDER + filename, URL + filename); } catch (MalformedURLException e) { System.out.println(“MalformedURLException”); } catch (IOException e) { System.out.println(“IOException”); } } […]

重命名由Java Servlet流式传输的PDF

使用XSLT,XSL-FO和Apache FOP的正确组合,我可以将PDF发送到某个浏览器窗口。 实际上,我发送的文件内容如下: response.setContentType( “应用/ PDF”); response.setContentLength(out.size()); response.getOutputStream()。write(out.toByteArray()); response.getOutputStream()平齐(); 正如所料,浏览器在名为“pdf”的选项卡中显示PDF内容,如果我在本地保存文件,则名称也默认为pdf.pdf 如何强制文件名? 我尝试了以下其他不起作用的东西: response.setHeader(“Content-Disposition”,“inline; filename =”+ filename +“。pdf”); 为清楚起见,我想在浏览器中显示内容(而不是直接下载)

如何使excel文件可下载

我已生成excel报告,我希望用户下载该文件,因此如何设置响应属性(内容类型)。

在文件下载时返回字节数组或servlet输出流之间是否有区别?

我想知道当Sprin MVC控制器方法返回字节数组byte[]来表示下载文件或者将InputStream对象复制到ServletOutputStream对象时是否存在真正的区别? 我问的原因是我必须确保在下载大文件时不会出现任何OutOfMemory错误。 通过ServletOutputStream传递文件是否有助于避免它? 传递字节数组: byte[] download() { return getUrlContentAsByteArray(); } 传入ServletOutputStream: void download(HttpServletResponse response) { InputStream content = getUrlContentAsStream(); ServletOutputStream outputStream = response.getOutputStream(); response.reset();response.setContentType(ContentType.APPLICATION_OCTET_STREAM.getMimeType()); IOUtils.copyLarge(inputStream, outputStream); }

下载的txt文件变得萎缩

我正在尝试用我的servlet编写一个txt文件并将其发送到我的桌面应用程序。 桌面应用程序将文件保存在本地磁盘上。 下载大二进制文件没有问题,但是txt文件是小错过最终字符。 例如,servlet发送长度为523KB的txt文件,但是当我将它保存在桌面应用程序上时,文件长度是496KB? 这是servlet代码: final int BUFFER_SIZE = 4096; FileInputStream in = new FileInputStream(file); OutputStream out = response.getOutputStream(); byte buffer[] = new byte[BUFFER_SIZE]; for (int nread = 0; (nread = in.read(buffer)) != -1;) { out.write(buffer, 0, nread); } out.flush(); out.close(); in.close(); 这是桌面应用程序代码(我使用HttpClient 4): response = httpclient.execute(httppost); resEntity = response.getEntity(); InputStream in = resEntity.getContent(); in […]

Spring MVC – 如何在下载开始之前在视图中显示消息

我有一个允许用户下载文件的控制器。 问题是,根据发送到控制器的参数,控制器将压缩不同的文件夹并将它们发送到客户端,并且在用户被提示使用空浏览器选项卡和加载标题时,压缩有时需要2分钟。 有没有一种方法可以向用户显示消息,直到压缩文件并真正开始下载? 像“请等待,您的文件正准备下载!”之类的东西。 谢谢!

java如何在循环下载期间计算Mbit / s

我有这个while loop下载文件 while ((val = bis.read(buffer, 0, 1024)) > 0) { out.write(buffer, 0, val); fileSize -= val; if (fileSize < 1024) { val = (int) fileSize; } 试图找出如何像许多速度站点一样显示Mbit / s。(链接) http://www.speedtest.net/ 。 希望mesurment留在while循环中,但我有 看过使用on-minute-threads射击但我不知道的例子.. 我不知道数据量,或者数据总是1024。 这就是我认为的问题 有任何帮助吗?

下载整个网页

有一些方法可以使用HTMLEditorKit下载整个网页。 但是,我需要下载需要滚动的整个网页才能加载其整个内容 。 这项技术最常通过与Ajax捆绑在一起的JavaScript实现。 问:有没有办法欺骗目标网页, 只使用Java code ,以下载其完整内容? 问题2:如果只有Java才能实现这一点,那么它是否可以与JavaScript结合使用? 简单的通知,我写的: public class PageDownload { public static void main(String[] args) throws Exception { String webUrl = “…”; URL url = new URL(webUrl); URLConnection connection = url.openConnection(); InputStream is = connection.getInputStream(); InputStreamReader isr = new InputStreamReader(is); BufferedReader br = new BufferedReader(isr); HTMLEditorKit htmlKit = new HTMLEditorKit(); HTMLDocument […]

是否有Java Applets的插件框架?

我们有一个大型Java应用程序,它以applet或Java Web Start的forms运行。 它越来越多。 典型的用户只需要一小部分类。 因为Java不知道哪个类可以在哪个jar文件中找到它加载所有jar文件,直到找到该类。 如果它将加载一个不存在的类(例如资源包),那么它将加载所有jar文件。 这样可以在很小的带宽上减少启动时间。 是否有一个小框架,我们只有在需要时才可以加载插件? 或者如果需要和背景更好? 当然,框架不应该以大尺寸延迟自己的开始时间。 我认为它应该使用URLClassLoader进行下载。

Android – 纠正multithreading

有人可以帮我一下这张图片下载代码吗? 我希望它在后台运行,但似乎新的Thread(新的Runnable())肯定不是要走的路,根据Android 文档 ,我不知道如何处理这个问题: // caller while( exhibitorCursor.moveToNext() ) { new Thread(new Runnable() { public void run() { downloadImage(exhibitorId, exhibitorString, DOWNLOAD_EXHIBITOR); } }).start(); } // first function public void downloadImage(long id, String externalImageUrl, int type) { // logic junk here if( !(new File(localImageName).exists()) ) { DownloadFromUrl(externalImageUrl, localImageName); } } // second function public void DownloadFromUrl(String […]