Response.Flush()下载会关闭应用程序
我做的项目是把b/s嵌入在c/s里面使用的。我在b/s中调试到Response.Flush()后就会提示我下载。我下载了之后或者取消下载他就不会再执行下面的内容了。 就当作勉强通过吧。
可是我用在c/s中.他就会提示我下载。或者保存和取消。我保存或者下载随便选一个、我的c/s程序就彻底退出了。下载也没内容。我上代码 求各位大牛帮忙看看哪里错误。或者给我一个方法试下。在线等待。谢谢
//压缩包路径地址
string zipFileName = HttpContext.Current.Server.MapPath("~/Admin/template/Purchase/" + OrderID + ".zip");
string filePath = HttpContext.Current.Server.MapPath("~/Admin/template/Purchase/");//文件夹名称
//生成压缩包
SharpZip.CompressFiles(filename, zipFileName);
//转成文件下载
string sFileName = zipFileName;
FileStream fs = new FileStream(sFileName, FileMode.Open);
byte[] bytes = new byte[(int)fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();
Response.ContentType = "application/octet-stream";//"application/x-zip-compressed";
Response.AddHeader("Content-Disposition", "attachment;filename=" + OrderID + ".zip");
Response.BinaryWrite(bytes);
Response.BufferOutput = true;
string[] fileList = Directory.GetFiles(filePath);
foreach (string file in fileList)
{
if (Path.GetFileName(file) != "Purchase.xls")
{
File.Delete(filePath + Path.GetFileName(file));
}
}
new PurchaseAtbBLL().Updatestate("OK", OrderID);
Response.Flush();
Response.End();
在下载后要把文件自动删除。
可是我用在c/s中.他就会提示我下载。或者保存和取消。我保存或者下载随便选一个、我的c/s程序就彻底退出了。下载也没内容。我上代码 求各位大牛帮忙看看哪里错误。或者给我一个方法试下。在线等待。谢谢
//压缩包路径地址
string zipFileName = HttpContext.Current.Server.MapPath("~/Admin/template/Purchase/" + OrderID + ".zip");
string filePath = HttpContext.Current.Server.MapPath("~/Admin/template/Purchase/");//文件夹名称
//生成压缩包
SharpZip.CompressFiles(filename, zipFileName);
//转成文件下载
string sFileName = zipFileName;
FileStream fs = new FileStream(sFileName, FileMode.Open);
byte[] bytes = new byte[(int)fs.Length];
fs.Read(bytes, 0, bytes.Length);
fs.Close();
Response.ContentType = "application/octet-stream";//"application/x-zip-compressed";
Response.AddHeader("Content-Disposition", "attachment;filename=" + OrderID + ".zip");
Response.BinaryWrite(bytes);
Response.BufferOutput = true;
string[] fileList = Directory.GetFiles(filePath);
foreach (string file in fileList)
{
if (Path.GetFileName(file) != "Purchase.xls")
{
File.Delete(filePath + Path.GetFileName(file));
}
}
new PurchaseAtbBLL().Updatestate("OK", OrderID);
Response.Flush();
Response.End();
在下载后要把文件自动删除。
...全文
相关推荐
java 使用流下载文件
().get(ServletActionContext.HTTP_RESPONSE);```接下来重置响应状态,以便进行新的响应设置:```javaresponse.reset();```设置响应头,指示浏览器以附件形式下载文件
Java Web应用程序实现基础的文件下载功能的实例讲解
**处理响应**: 清空响应(`response.reset()`),设置响应头,然后获取响应输出流`OutputStream`。将字节数组写入输出流,确保流被正确关闭。8.
下载文件(压缩包)的代码,保证下载不会有乱码
()`用于将读取的数据写入响应流,`Response.Flush()`则用于立即刷新缓冲区,确保数据被发送到客户端。
asp.net动态生成txt文件并下载
- **完成响应**: ```csharp Response.Flush(); Response.End(); ``` - **`Response.Flush()`**:确保所有输出都发送给客户端。
按钮下载源码 轻轻一点 就能下载资源
此外,通过`Response.Flush()`确保数据立即发送给客户端。最后,通过`Response.Close()`关闭响应,结束文件传输过程。


