如何使用VisualC#WinForm 实现文件上传功能

如何使用VisualC#WinForm 实现文件上传功能,第1张

在Web编程中,我们常需要把一些本地文件上传到Web服务器上,上传后,用户可以通过浏览器方便地浏览这些文件,应用十分广泛。

首先,在你的VisualC#webproject中增加一个上传用的WebForm,为了要上传文件,需要在ToolBox中选择HTML类的FileField控件,将此控件加入到WebForm中,然而此时该控件还不是服务端控件,我们需要为它加上如下一段代码:<inputid=uploadfile1type=filesize=49runat=server>,这样它就成为服务端控件了,如果需要同时上传数个文件时,我们可以相应增加此控件。

需要注意的是代码中一定要把<form>的属性设置成为:

基本思路是远程服务器假设FTP,本地用System.Net.FtpWebRequest建立Ftp客户端,用NetworkCredential.NetworkCredential建立用户名和密码验证方式,用System.Net.WebRequestMethods.Ftp设置上传和下载命令,文件通过FileStream流进行发送和接收。

// 得到文件名,文件扩展名字,服务器路径

Uri = Uri + _contractid + "_" + _filename

//访问权限设置

c = new WebClient()

c.Credentials = CredentialCache.DefaultCredentials

//c.UploadFile(Uri,"PUT", _resultFile)

//// 要上传的文件

FileStream fs = new FileStream(_resultFile, FileMode.Open, FileAccess.Read)

BinaryReader br = new BinaryReader(fs)

try

{

byte[] postArray = br.ReadBytes((int)fs.Length)

Stream postStream = c.OpenWrite(Uri, "PUT")

if (postStream.CanWrite)

{

postStream.Write(postArray, 0, postArray.Length)

lb_state.Text = _filename + "上传成功!"

}

else

{

lb_state.Text = "文件目前不可写!"

}

postStream.Close()

this._returnvalue = true

}

catch (WebException errMsg)

{

lb_state.Text = "上传失败:" + errMsg.Message

}


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/tougao/11429696.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-16
下一篇 2023-05-16

发表评论

登录后才能评论

评论列表(0条)

保存