response返回文件流下载文件(java response返回文件流)

http://www.itjxue.com  2023-01-25 08:11  来源:未知  点击次数: 

asp.net 用Response.WriteFile() 下载.csv 格式文件

1.把.csv压缩成zip或者rar

2.

string strInstallFile = Server.MapPath ( @"Files/abc.csv" );

if ( System.IO.File.Exists ( strInstallFile ) )

{

string strFileName = System.IO.Path.GetFileName ( strInstallFile );

//System.IO.FileStream myFileStream = new System.IO.FileStream ( strInstallFile , System.IO.FileMode.Open,System.IO.FileAccess.Read, System.IO.FileShare.None );

//long FileSize1 = myFileStream.Length;

//myFileStream.Close ( );

System.IO.FileInfo fileInfo = new System.IO.FileInfo ( strInstallFile );

long FileSize = fileInfo.Length;

Page.Response.ContentType = "APPLICATION/OCTET-STREAM";

Page.Response.AddHeader ( "Content-length", FileSize.ToString ( ) );

Page.Response.AddHeader ( "Content-Disposition", "attachment; filename=" + HttpUtility.UrlEncode ( strFileName, System.Text.Encoding.UTF8 ) );

Page.Response.WriteFile ( strInstallFile );

Response.Flush ( );

Response.End ( );

}

else

{

Response.Write("文件不存在!");

}

java web二进制流的图片如何用response返回给前台

FileOutputStream很明显你是用的文件流返回的

// 以byte流的方式打开文件 d:\1.gif? ?

FileInputStream hFile = new FileInputStream(url); ? ? ?//得到文件大小

int i=hFile.available();

byte data[]=new byte[i]; ? ? ? ?//读数据

hFile.read(data); ?? ? ? ?//得到向客户端输出二进制数据的对象

OutputStream toClient=response.getOutputStream(); ?? ? ? ?//输出数据

toClient.write(data);

toClient.flush();

toClient.close();

hFile.close();

扩展资料:

如果是纯文本使用字符流,如果二进制文件,使用字节流。

如果只是得到信息,原样不动,不进行修改操作,例如文件上传和下载,这时就使用字节流。文件上传:在服务器端把浏览器端信息提取出来。文件下载:把服务器端内容写给浏览器端。

如果要操作的是自定义信息,这时使用字符流。

通过response获取的输出流它的真实类型是什么?

ServletOutputStream? response.getOutputStream();

PrintWriter? response.getWriter();

ServletOutputStream由于使用字节流多数是原样复制,所以使用write方法,而不是print方法。

PrintWriter:打印流,两个特点:1.可以设置自动刷新。2.可以将信息原样输出。

怎么接收CloseableHttpResponse返回的文件流?

CloseableHttpResponse response = httpclient.execute(httpGet);

HttpEntity entity = response.getEntity();

InputStream instream = entity.getContent();

instream是流,可以写入文件

C#中关于下载文件的Response问题

1、我先解释你不懂的代码吧

Response.AddHeader("Content-Disposition", "attachment; filename=" +

//这一句是添加报文头,在客户端出现,打开,另存为,取消的对话框

HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8));

//防止文件名含有中文,而进行编码,这样中文就不会显示乱码了

Response.BinaryWrite(bytes);

//向客户端写数据

Response.Flush();

//表示向客户端一点一点的写数据,流动的方式,而不会使得数据堆在内存中,造成客户端假死的现象

//Response.End();

结束

2、至于你说的其中response一直说上下文中没有

你试下把fs.Close()放到Response.Flush()后面或者Response.BinaryWrite(bytes)后面

SpringMVC中通过response返回值判断操作

返回到JSP后然后用流的方式删除文件只需要得到路径就好

????/**

?????*??根据路径删除指定的目录或文件,无论存在与否

?????*@param?sPath??要删除的目录或文件

?????*@return?删除成功返回?true,否则返回?false。

?????*/

????public?boolean?DeleteFolder(String?sPath)?{

????????flag?=?false;

????????file?=?new?File(sPath);

????????//?判断目录或文件是否存在

????????if?(!file.exists())?{??//?不存在返回?false

????????????return?flag;

????????}?else?{

????????????//?判断是否为文件

????????????if?(file.isFile())?{??//?为文件时调用删除文件方法

????????????????return?deleteFile(sPath);

????????????}?else?{??//?为目录时调用删除目录方法

????????????????return?deleteDirectory(sPath);

????????????}

????????}

????}

(责任编辑:IT教学网)

更多

推荐CSS教程文章