asp.net实现下载功能

smmlfl 2009-04-23 04:20:21
像网页上那些下载的:比如说本地下载,你点击链接的话,就会直接下载
还有就是电信下载了,我感觉这些就是超链接,不知道用ASP.NET应该怎么实现呢?请大家帮帮我,谢谢
我不知道这是怎么个原理,如果有代码可以借我研究一下,谢谢,呵呵
...全文
687 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
lmm123321 2011-09-02
  • 打赏
  • 举报
回复
以前就用的超链接直接在href里写路径就可以了,今天弄了好久也不行....郁闷.....
steven_007 2009-04-24
  • 打赏
  • 举报
回复
CSDN 查一下webclient 这个是最简单的
renjuwht 2009-04-24
  • 打赏
  • 举报
回复
mark
pengfangxu8 2009-04-24
  • 打赏
  • 举报
回复
private void StartReceive()
{

IPEndPoint ipep=new IPEndPoint(IPAddress.Parse(this.textBox1.Text),int.Parse(this.textBox5.Text));

Socket client=new Socket(AddressFamily.InterNetwork,SocketType.Stream,ProtocolType.Tcp);

client.Connect(ipep);

string SendFileName=System.Text.Encoding.Unicode.GetString(CommonModule.EzoneModule.ReceiveVarData(client));
this.textBox2.Text=SendFileName;

this.textBox3.Text=System.Text.Encoding.Unicode.GetString(CommonModule.EzoneModule.ReceiveVarData(client));

this.textBox8.Text=System.Text.Encoding.Unicode.GetString(CommonModule.EzoneModule.ReceiveVarData(client));
this.progressBar1.Maximum=int.Parse(this.textBox8.Text);

this.textBox9.Text=System.Text.Encoding.Unicode.GetString(CommonModule.EzoneModule.ReceiveVarData(client));

FileStream MyFileStream=new FileStream(SendFileName,FileMode.Create,FileAccess.Write);

int SendedCount=0;
while(true)
{
byte[] data=CommonModule.EzoneModule.ReceiveVarData(client);
if(data.Length==0)
{
break;
}
else
{
SendedCount++;

MyFileStream.Write(data,0,data.Length);

this.textBox10.Text=SendedCount.ToString();

this.progressBar1.PerformStep();
}
}
this.progressBar1.Value=this.progressBar1.Maximum;
//关闭文件流
MyFileStream.Close();
//关闭套接字
client.Close();
this.button1.Enabled=true;
MessageBox.Show("文件接收完毕!");
}
大神来了丶 2009-04-24
  • 打赏
  • 举报
回复
.NET(C#)技术交流 35032539
.NET(C#)技术交流 35032539
.NET(C#)技术交流 35032539
xfreyes 2009-04-24
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 smmlfl 的回复:]
我用了5楼的连接在本地可以,但是我不明白,如果放到网上的话,点击下载的时候会连接到迅雷吗?
[/Quote]

连接到迅雷是你迅雷的设置
smmlfl 2009-04-24
  • 打赏
  • 举报
回复
我用了5楼的连接在本地可以,但是我不明白,如果放到网上的话,点击下载的时候会连接到迅雷吗?
happy664618843 2009-04-24
  • 打赏
  • 举报
回复
[Quote=引用楼主 smmlfl 的帖子:]
像网页上那些下载的:比如说本地下载,你点击链接的话,就会直接下载
还有就是电信下载了,
我感觉这些就是超链接,不知道用ASP.NET应该怎么实现呢?请大家帮帮我,谢谢
我不知道这是怎么个原理,如果有代码可以借我研究一下,谢谢,呵呵
[/Quote]
这个可以啊!
dengyun_1223 2009-04-23
  • 打赏
  • 举报
回复
学习
wxg22526451 2009-04-23
  • 打赏
  • 举报
回复
asp.net下载文件的常用方法
http://blog.sina.com.cn/s/blog_5dfb7f4d0100c3nh.html
llsen 2009-04-23
  • 打赏
  • 举报
回复
 #region 下载服务器上的文件
/// <summary>
/// 下载服务器上的文件
/// </summary>
/// <param name="PageResponse">程序中可以设置参数:HttpResponse ht=Page.Response;</param>
/// <param name="serverPath">服务器上的文件路径</param>
public void DownloadFile(HttpResponse response, string serverPath)
{
FileStream fs = null;
try
{
fs = File.OpenRead(serverPath);
byte[] buffer = new byte[1024];
long count = 1024;
response.Buffer = true;


response.AddHeader("Connection", "Keep-Alive");
response.ContentType = "application/octet-stream";
response.AddHeader("Content-Disposition", "attachment;filename=" + Path.GetFileName(serverPath));//下载时要保存的默认文件名
response.AddHeader("Content-Length", fs.Length.ToString());
while (count == 1024)
{
count = fs.Read(buffer, 0, 1024);
response.BinaryWrite(buffer);
}

}
catch
{
}
finally
{
fs.Close();
}
}
#endregion


指定路径就好了
ybblack001 2009-04-23
  • 打赏
  • 举报
回复
连接的URL就写你的文件存放路径 相对路径。 注意打包文件,比如TXT BMP这种浏览器直接显示而不是下载

至于你说的点击直接打开迅雷 我估计是一种 协议, 也是写在URL里的。 网上搜下吧
smmlfl 2009-04-23
  • 打赏
  • 举报
回复
这么快就回了啊,呵呵,先谢谢你奥,我看看了
lovehongyun 2009-04-23
  • 打赏
  • 举报
回复
String FullFileName = Server.MapPath("文件路径");
FileInfo DownloadFile = new FileInfo(FullFileName);
Response.Clear();
Response.ClearHeaders();
Response.Buffer = false;
Response.ContentType = "application/octet-stream";
Response.AppendHeader("Content-Disposition", "attachment;filename=" + HttpUtility.UrlEncode(DownloadFile.FullName, System.Text.Encoding.UTF8));
Response.AppendHeader("Content-Length", DownloadFile.Length.ToString());
Response.WriteFile(DownloadFile.FullName);
Response.Flush();
Response.End();

62,268

社区成员

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

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

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

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