资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

vb.net大文件 vbnet openfiledialog

求大神指点 vb.net 怎么发送大文件 我用 UdpClient 的Send只能发送5000字节以下的

下载,直接通过url读取文件,然后Response.OutputStream.Write()数据

为翔安等地区用户提供了全套网页设计制作服务,及翔安网站建设行业解决方案。主营业务为网站设计、成都网站制作、翔安网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!

下面提供个下载的静态方法,是C#的,供参考:

/// summary

/// 下载文件

/// /summary

/// param name="fileName"下载的文件名称(包括扩展名)/param

/// param name="filePath"下载文件的绝对路径/param

public static void DownFile(string fileName, string filePath)

{

//打开要下载的文件,并把该文件存放在FileStream中                

System.IO.FileStream Reader = System.IO.File.OpenRead(filePath);

//文件传送的剩余字节数:初始值为文件的总大小                

long Length = Reader.Length;

HttpContext.Current.Response.Buffer = false;

HttpContext.Current.Response.AddHeader("Connection", "Keep-Alive");

HttpContext.Current.Response.ContentType = "application/octet-stream";

HttpContext.Current.Response.Charset = "utf-8";

HttpContext.Current.Response.AddHeader("Content-Disposition", "attachment; filename=" + System.Web.HttpUtility.UrlEncode(fileName));

HttpContext.Current.Response.AddHeader("Content-Length", Length.ToString());

byte[] Buffer = new Byte[10000];//存放欲发送数据的缓冲区                

int ByteToRead; //每次实际读取的字节数               

while (Length  0)

{    

//剩余字节数不为零,继续传送                    

if (HttpContext.Current.Response.IsClientConnected)

{    

//客户端浏览器还打开着,继续传送                        

ByteToRead = Reader.Read(Buffer, 0, 10000);                   //往缓冲区读入数据                        

HttpContext.Current.Response.OutputStream.Write(Buffer, 0, ByteToRead);    

//把缓冲区的数据写入客户端浏览器                        

HttpContext.Current.Response.Flush(); //立即写入客户端                        

Length -= ByteToRead;//剩余字节数减少                            }

else

{                         

//客户端浏览器已经断开,阻止继续循环                        

Length = -1;

}

}                //关闭该文件               

Reader.Close();

}

易语言 / VB.NET 如何获取大文件的尺寸(>4GB) 在易语言环境下无法用“取文件尺寸(F

把结果用字节集变量,再其字节集数据,长整数就行了,多大都能取

VB.NET 3.5 打包的时候成220M的大问题?

在编译页面的“高级编译选项”里把配置改为net.framework2.0,同时在发布页面的"系统必备"中把net.framework 3.5改成2.0的,在引用页面中把所有2.0以上版本的引用删除,这样打包的文件会缩小成30M

只打包程序的DLL,用clickonce技术肯定是不能的,也许新建一个安装项目,改用windows installer技术可以做到,我没试过,不确定,但即使是这样,也不会省太多空间,因为最基本的system.dll就有3M左右,还有system.drawing.dll……很多很多。

vb.net udpclient 发送大文件循环问题

'缓冲区长度

Const BufLen As Integer=800

'包发送间隔

Const Interval As Integer=62

'缓冲区

Dim buf As Byte()=Nothing

'远程(目的)网络端点

Dim remoteep As IPEndPoint=Nothing

'如果你已将s定义为类的成员变量(实例或共享),注释掉下面这句

Dim s As UdpClient=Nothing

Dim willread As Integer

Try

buf=New Byte(BufLen-1) {}

s=New UdpClient()

' TextBox1.Text包含远程(目的)主机的IP地址

' TextBox2.Text包含远程(目的)主机的端口号

remoteep=New IPEndPoint(IPAddress.Parse(Trim(TextBox1.Text)),CInt(TextBox2.Text))

' Label2.Text包含要发送的文件的路径

Using fs As New FileStream(Label2.Text,FileMode.Open,FileAccess.Read)

While fs.Positionfs.Length

willread=BufLen

If fs.Length-fs.PositionBufLen Then

willread=CInt(fs.Length-fs.Position)

End If

fs.Read(buf,0,willread)

s.Send(buf,willread,remoteep)

Thread.Sleep(Interval)

End While

End Using

Catch ex As Exception

MsgBox(ex.ToString())

Finally

If s IsNot Nothing Then

s.Close()

End If

End Try


当前文章:vb.net大文件 vbnet openfiledialog
转载源于:http://cdkjz.cn/article/ddddpjd.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

业务热线:400-028-6601 / 大客户专线   成都:13518219792   座机:028-86922220