response返回文件流下载文件(java response返回文件流)
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);
????????????}
????????}
????}