我在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 < donneeFichier.length; i++){

out.write(donneeFichier[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

Content-Type: application/octet-stream;

Content-Length: 5387668

Date: Sun, 20 Dec 2009 18:52:18 GMT

谢谢.

application octet stream java_java – JSP下载 – application / octet-stream相关推荐

  1. ZigBee 3.0实战教程-Silicon Labs EFR32+EmberZnet-3-04:模板工程创建/编译/下载-Application

    [源码.文档.软件.硬件.技术交流.技术支持,入口见文末] [所有相关IDE.SDK和例程源码均可从群文件免费获取,免安装,解压即用] 持续更新中,欢迎关注! 一.创建 启动运行 Simplicity ...

  2. [JSP] 利用application来写一个网页计数器

    利用application写一个网页计数器 实现这一应用, 要用到application下面的两个方法: application.setAttribute() 和 application.getAtt ...

  3. 【Android 安全】DEX 加密 ( Application 替换 | 替换 LoadedApk 中的 Application mApplication 成员 )

    文章目录 一. 当前 Application 替换进度 二. 替换 LoadedApk 中的 Application mApplication 成员 一. 当前 Application 替换进度 上一 ...

  4. CentOS 迎来更新换代版本 CentOS Stream 9 附下载镜像OS地址

    CentOS Stream 9 镜像下载地址 https://mirrors.centos.org/mirrorlist?path=/9-stream/BaseOS/x86_64/iso/CentOS ...

  5. (POST请求中的三种数据请求格式.application/x-www-form-urlencoded和multipart/form-data和application/json)

    (POST请求中的三种数据请求格式.application/x-www-form-urlencoded和multipart/form-data和application/json) applicatio ...

  6. Android NDK调试出错Unknown Application ABI, Unable to detect application ABI#39;s的解决方式...

    今天在调试Android NDK的时候,ADT的控制台报了这个错误: Unknown Application ABI, Unable to detect application ABI's 在网上查了 ...

  7. Content-Type四种常见取值application/x-www-form-urlencoded,multipart/form-data,application/json,text/xml

    四种常见的 POST 提交数据方式(application/x-www-form-urlencoded,multipart/form-data,application/json,text/xml) 一 ...

  8. java8 stream遍历_Java8新特性:Stream流详解

    1. Stream初体验 我们先来看看Java里面是怎么定义Stream的: A sequence of elements supporting sequential and parallel agg ...

  9. stream 过滤俩个字段_Java8 Stream:2万字20个实例,玩转集合的筛选、归约、分组、聚合...

    点波关注不迷路,一键三连好运连连! 先贴上几个案例,水平高超的同学可以挑战一下: 从员工集合中筛选出salary大于8000的员工,并放置到新的集合里. 统计员工的最高薪资.平均薪资.薪资之和. 将员 ...

  10. 使用Stream流时报java.lang.IllegalStateException: stream has already been operated upon or closed错误

    Stream流是Java8 API推出的新特性,极大的简化了我们遍历集合和筛选集合的操作,但是初次使用时极有可能出现错误. 下面的代码按照常理来说看似是没有错误: public class Strea ...

最新文章

  1. snmpwalk用法
  2. 利用介质创建额外域控制器
  3. 数据库事务隔离级别(转)
  4. C++中的sort函数对二维数组排序是按照什么准则?
  5. mysql报错:Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre
  6. 软件专家袁萌:番茄花园作者罪有应得
  7. 基于IDEA搭建JavaWeb入门项目结构(2021版)
  8. matlab打开模型步骤,基于Matlab/Simulink的模型开发(连载一)
  9. 批量修改图片的后缀名格式
  10. [剪视频]Premiere快速从入门到实战
  11. kkrieger(100k的3DFPS游戏)+机器码游戏+97年编程第一名作品以及新的最牛的GAE云计算
  12. macos10.14系统:MacOS Mojave
  13. js将月份转换为英文简写的形式
  14. win10内存占用率过高怎么办_Win10系统硬盘占用率100%各种卡死怎么办?
  15. 一个bug改了3个礼拜
  16. 哪些服务器支持 9200系列CPU,56核/112线程:英特尔发布9200系列Xeon Platinum CPU新品...
  17. 算法笔记:找考试座位号问题
  18. 谷粒学院——后台管理系统功能模块
  19. 【THUWC2019模拟2019.1.18】Counting
  20. 三菱PLC slmp(mc)协议

热门文章

  1. 傻子都能看懂的 财务报表入门
  2. python培训学费多少钱-北京python培训学费多少钱?
  3. c语言 交互式电子白板案例,交互式电子白板教学案例——电子白板让修改习作不再难...
  4. 经典语录大全微信小程序源码下载多种分类语录
  5. linux权限 rwxr xr x,小白求助:权限rwxr-xr-x是啥意思?
  6. 如何使用OpenCV-Python-dlib实现有关闭眼的检测、眨眼次数的计算?(附源码,绝对可用)
  7. 违章查询免费api接口代码
  8. 实对称矩阵及其几大性质
  9. 实对称矩阵的一些性质(不包含证明)
  10. getUserProfile:fail can only be invoked by user TAP gesture