首先,在你的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
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)