application octet stream java_java – 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 < 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相关推荐
- ZigBee 3.0实战教程-Silicon Labs EFR32+EmberZnet-3-04:模板工程创建/编译/下载-Application
[源码.文档.软件.硬件.技术交流.技术支持,入口见文末] [所有相关IDE.SDK和例程源码均可从群文件免费获取,免安装,解压即用] 持续更新中,欢迎关注! 一.创建 启动运行 Simplicity ...
- [JSP] 利用application来写一个网页计数器
利用application写一个网页计数器 实现这一应用, 要用到application下面的两个方法: application.setAttribute() 和 application.getAtt ...
- 【Android 安全】DEX 加密 ( Application 替换 | 替换 LoadedApk 中的 Application mApplication 成员 )
文章目录 一. 当前 Application 替换进度 二. 替换 LoadedApk 中的 Application mApplication 成员 一. 当前 Application 替换进度 上一 ...
- CentOS 迎来更新换代版本 CentOS Stream 9 附下载镜像OS地址
CentOS Stream 9 镜像下载地址 https://mirrors.centos.org/mirrorlist?path=/9-stream/BaseOS/x86_64/iso/CentOS ...
- (POST请求中的三种数据请求格式.application/x-www-form-urlencoded和multipart/form-data和application/json)
(POST请求中的三种数据请求格式.application/x-www-form-urlencoded和multipart/form-data和application/json) applicatio ...
- Android NDK调试出错Unknown Application ABI, Unable to detect application ABI#39;s的解决方式...
今天在调试Android NDK的时候,ADT的控制台报了这个错误: Unknown Application ABI, Unable to detect application ABI's 在网上查了 ...
- 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) 一 ...
- java8 stream遍历_Java8新特性:Stream流详解
1. Stream初体验 我们先来看看Java里面是怎么定义Stream的: A sequence of elements supporting sequential and parallel agg ...
- stream 过滤俩个字段_Java8 Stream:2万字20个实例,玩转集合的筛选、归约、分组、聚合...
点波关注不迷路,一键三连好运连连! 先贴上几个案例,水平高超的同学可以挑战一下: 从员工集合中筛选出salary大于8000的员工,并放置到新的集合里. 统计员工的最高薪资.平均薪资.薪资之和. 将员 ...
- 使用Stream流时报java.lang.IllegalStateException: stream has already been operated upon or closed错误
Stream流是Java8 API推出的新特性,极大的简化了我们遍历集合和筛选集合的操作,但是初次使用时极有可能出现错误. 下面的代码按照常理来说看似是没有错误: public class Strea ...
最新文章
- snmpwalk用法
- 利用介质创建额外域控制器
- 数据库事务隔离级别(转)
- C++中的sort函数对二维数组排序是按照什么准则?
- mysql报错:Expression #1 of SELECT list is not in GROUP BY clause and contains nonaggre
- 软件专家袁萌:番茄花园作者罪有应得
- 基于IDEA搭建JavaWeb入门项目结构(2021版)
- matlab打开模型步骤,基于Matlab/Simulink的模型开发(连载一)
- 批量修改图片的后缀名格式
- [剪视频]Premiere快速从入门到实战
- kkrieger(100k的3DFPS游戏)+机器码游戏+97年编程第一名作品以及新的最牛的GAE云计算
- macos10.14系统:MacOS Mojave
- js将月份转换为英文简写的形式
- win10内存占用率过高怎么办_Win10系统硬盘占用率100%各种卡死怎么办?
- 一个bug改了3个礼拜
- 哪些服务器支持 9200系列CPU,56核/112线程:英特尔发布9200系列Xeon Platinum CPU新品...
- 算法笔记:找考试座位号问题
- 谷粒学院——后台管理系统功能模块
- 【THUWC2019模拟2019.1.18】Counting
- 三菱PLC slmp(mc)协议
热门文章
- 傻子都能看懂的 财务报表入门
- python培训学费多少钱-北京python培训学费多少钱?
- c语言 交互式电子白板案例,交互式电子白板教学案例——电子白板让修改习作不再难...
- 经典语录大全微信小程序源码下载多种分类语录
- linux权限 rwxr xr x,小白求助:权限rwxr-xr-x是啥意思?
- 如何使用OpenCV-Python-dlib实现有关闭眼的检测、眨眼次数的计算?(附源码,绝对可用)
- 违章查询免费api接口代码
- 实对称矩阵及其几大性质
- 实对称矩阵的一些性质(不包含证明)
- getUserProfile:fail can only be invoked by user TAP gesture