社区
Web 开发
帖子详情
急,关于文件处理问题
licdut
2004-10-28 08:08:02
web服务器上有各种类型文件,其路径和扩展名都存在数据库中.现在需提供一个打开这些文件的功能.对于文本文件,在IE中打开即可,对于非文本文件则提供下载的功能.我先用readLine的方式读取文件,文本文件正常,二进制文件如图片不能正常下载,改用InputStream的方法,则文本文件和图片文件都是乱码,请问这是什么原因?
另外象我这种情况,还有没有更好的解决办法?不要使用直接加虚拟路径的方式
...全文
74
4
打赏
收藏
急,关于文件处理问题
web服务器上有各种类型文件,其路径和扩展名都存在数据库中.现在需提供一个打开这些文件的功能.对于文本文件,在IE中打开即可,对于非文本文件则提供下载的功能.我先用readLine的方式读取文件,文本文件正常,二进制文件如图片不能正常下载,改用InputStream的方法,则文本文件和图片文件都是乱码,请问这是什么原因? 另外象我这种情况,还有没有更好的解决办法?不要使用直接加虚拟路径的方式
复制链接
扫一扫
分享
转发到动态
举报
AI
作业
写回复
配置赞助广告
用AI写文章
4 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
gks_cn
2004-10-29
打赏
举报
回复
package util.db;
import javax.servlet.*;
import javax.servlet.http.*;
import office.file.File;
import oracle.sql.BLOB;
import sun.jdbc.rowset.CachedRowSet;
import util.string.StringUtil;
import java.io.*;
import java.util.*;
import java.sql.*;
public class DownloadFile extends HttpServlet {
//Initialize global variables
public void init() throws ServletException {}
//Process the HTTP Get request
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException {
String contentType = request.getParameter("contentType");
if (contentType == null) {
contentType = "text/html; charset=GBK"; //默认情况下输出的类型为中文文本
}
String uploadId = request.getParameter("uploadId");
if (uploadId == null) {
uploadId = "";
}
String fileSerial = request.getParameter("fileSerial");
if(fileSerial==null) fileSerial = "";
String fileName = "FILE"+fileSerial;
File file = new File();
file.setFileSerial(fileSerial);
file.loadRecord();
String fileSuffix = file.getFileFormat();
Connection conn = null;
Statement ps = null;
ResultSet rs = null;
OpenDbBean db = new OpenDbBean();
try {
response.setContentType(contentType);
ServletOutputStream out = response.getOutputStream();
String sql =
"select * from uploadfiles where filename='" + fileName + "'";
System.out.println(sql);
conn = db.getConnection();
ps = conn.createStatement();
rs = ps.executeQuery(sql);
if (rs.next()) {
BLOB blob = (BLOB) rs.getBlob("binaryfile");
//发送文件名称和文件后缀
String head = fileName + "." + fileSuffix;
System.out.println(head);
response.setHeader(
"Content-disposition",
"attachment;filename=" + head);
int blobsize = (int) blob.length();
InputStream pi = blob.getBinaryStream();
byte[] blobbytes = new byte[blobsize];
int bytesRead = 0;
while ((bytesRead = pi.read(blobbytes)) != -1) {
out.write(blobbytes, 0, bytesRead);
}
pi.close();
out.flush();
} else {
response.sendError(HttpServletResponse.SC_NOT_FOUND);
}
} catch (SQLException e) {
System.out.println(e.getMessage());
} finally {
try {
db.CleanConnection(conn, ps, rs);
} catch (SQLException e1) {
e1.printStackTrace();
}
}
}
//Clean up resources
public void destroy() {}
}
luckydog903
2004-10-29
打赏
举报
回复
支持加学习
jinannanhai79
2004-10-29
打赏
举报
回复
<% // 得到文件名字和路径
String filename = "GoldWave.rar";
String filepath = "d:\\GoldWave\\";
// 设置响应头和下载保存的文件名
response.reset();
response.setContentType("APPLICATION/OCTET-STREAM");
response.setHeader("Content-Disposition","attachment; filename= \"" + filename + "\"");
// 打开指定文件的流信息
java.io.FileInputStream fileInputStream =new java.io.FileInputStream(filepath + filename);
// 写出流信息
int i;
while ((i=fileInputStream.read()) != -1) {
out.write(i);
}
fileInputStream.close();
out.close();
%>
jinannanhai79
2004-10-29
打赏
举报
回复
将其路径转换为绝对路径,然后下载
IIS错误:由于扩展配置
问题
而无法提供您请求的页面。如果该页面是脚本,请添加
处理
程序。如果应下载
文件
,请添加 MIME 映射。
我们都知道Asp页面是动态脚本页,它和Aspx
文件
一样是由专门的程序来
处理
的,而StaticFile程序是用来
处理
静态网页的程序,肯定解析不了Asp
文件
…… 那么一定是我们没有指定Asp
文件
的
处理
程序才会出现这种情况。 在...
无法为数据库中的对象分配空间,因为‘PRIMARY‘
文件
组已满
问题
处理
方式
出现这个
问题
的原因是数据库中设置了Log日志限制了
文件
增长。设置如下所示,然后修改了相关设置,解决该
问题
。1、硬盘设置格式为FAT32 ,此时可以备份,然后修改为NTFS格式(风险较高的一种方式)2、就是上述所说的...
java实现大
文件
分片上传功能(前后端都有,代码down下来配置完后可以直接运行)
问题
项目解决的
问题
主要是java实现分片上传功能,
问题
描述: ...lz花了100积分在csdn上面提的
问题
:
急
急
急
,求java上传大
文件
占用jvm过高的
问题
解决方案/思路 1、mmf,通过memory mapped file 内存
Utral Edit中打开多个
文件
标签
由于之前只是简单的使用过Utral Edit进行简单的
文件
的查看技巧上的东西很少用,但是有时候的确关键时候需要某一项功能时又不会,只能干捉
急
;适当懂一些工具使用技巧和设置能大幅度提高工作效率和解决
问题
。例如今天...
关于cmake编译opencv出现ffmpeg
文件
下载失败的
问题
关于cmake编译opencv4.4出现ffmpeg
文件
下载失败的
问题
第一篇博文 这段时间在用clion配置opencv,遇到了好多好多
问题
,搜了很多篇博文,感觉几乎只要是有的
问题
我都撞上了,不过总算是解决了。因为受到了很多的帮助...
Web 开发
81,122
社区成员
341,744
社区内容
发帖
与我相关
我的任务
Web 开发
Java Web 开发
复制链接
扫一扫
分享
社区描述
Java Web 开发
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章