Response下载问题,本地可以,但服务器不行,为什么啊

yifan112 2011-07-08 01:48:08
我用下面些的代码下载,本地测试时可以,但服务器旧不行不行,不报错,就是在打开的状态。



String savePath = Server.MapPath("ExcelModel") + "\\Tonnage_Origin_Destination" + Guid.NewGuid().ToString() + ".xls"; // excel文件名(含路径)(服务器)
string fileExcel = "Tonnage_Origin_Destination" + DateTime.Now.Ticks.ToString() + ".xls"; // excel文件名(本地)

if (System.IO.File.Exists(savePath)) // 保存excel文件到本地,并删除服务器的excel临时文件
{
Response.Clear();
Response.AppendHeader("Content-Disposition", "attachment;filename=" + fileExcel);
Response.ContentType = "application/vnd.ms-excel";

Response.WriteFile(savePath);
Response.Flush();
System.IO.File.Delete(savePath);
Response.End();
...全文
674 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
子夜__ 2011-07-10
  • 打赏
  • 举报
回复
#region 文件下载
public bool DownLoadFile(string localPath, string hostURL, int byteCount, string userID, long cruuent)
{

bool result = true;


string tmpURL = hostURL;

byteCount = byteCount * 1024;
hostURL = tmpURL + "&npos=" + cruuent.ToString();

System.IO.FileStream fs;
fs = new FileStream(localPath, FileMode.OpenOrCreate);
if (cruuent > 0)
{
//偏移指针
fs.Seek(cruuent, System.IO.SeekOrigin.Current);
}


System.Net.HttpWebRequest request = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(hostURL);
if (cruuent > 0)
{
request.AddRange(Convert.ToInt32(cruuent)); //设置Range值
}

try
{
//向服务器请求,获得服务器回应数据流
System.IO.Stream ns = request.GetResponse().GetResponseStream();

byte[] nbytes = new byte[byteCount];
int nReadSize = 0;
nReadSize = ns.Read(nbytes, 0, byteCount);

while (nReadSize > 0)
{
fs.Write(nbytes, 0, nReadSize);
nReadSize = ns.Read(nbytes, 0, byteCount);

}
fs.Close();
ns.Close();
}
catch(Exception ex)
{
LOG.Error("下载" + localPath + "的时候失败!" + "原因是:" + ex.Message);
fs.Close();
result = false;
}
return result;
}
#endregion

孟子E章 2011-07-08
  • 打赏
  • 举报
回复
System.IO.File.Delete(savePath);先去掉,数据还没有发送就删除了吧?
你可以进行定期删除

62,249

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧