c# webDav上传文件到服务器

发布时间:2017-5-28 22:47:02 编辑:www.fx114.net 分享查询网我要评论
本篇文章主要介绍了"c# webDav上传文件到服务器",主要涉及到c# webDav上传文件到服务器方面的内容,对于c# webDav上传文件到服务器感兴趣的同学可以参考一下。

此文这也是实际工作中的应用。之前有写通过webDAV方式取出文件的方法;这里提供通过webDav往服务器写入文件的方法; 这里假设已经搭建好了一个webDAV , WebDAV地址假设是:10.153.24.94/WebDavFolder/; 假设登陆的用户名是Administrator,登陆认证密码是:passWord.0 ; 假设要将本地:c:\test.dat文件上传到10.153.24.94/WebDavFolder/0/目录下;注意,在10.153.24.94/WebDavFolder/这个只是在10.153.24.94这台服务器上的IIS发布出来的地址,至于这个文件在实体路径,可以变通,可以是另外的服务器的目录; 但是一定要注意的是,一定给在IIS里面给应用池设定一致。而且要给Administrator权限,并且对文件夹的实体路径具有读写权限。否会404权限不够; 具体调用如下: string lstrWebUrl="http://10.153.24.94/WebDavFolder/0/test.dat"; //服务器上将要存的文件名 string lstrLocalFile = "c:\\test.dat"; //原文件 string lstrUserName="Administrator"; string lstrPassword="passWord.0"; UploadWebDavFile(lstrWebUrl,lstrLocalFile,lstrUserName,lstrPassword) 方法具体实现代码:C# protected int UploadWebDavFile(string _WebFileUrl,string _LocalFile,string _UserName,string _Password) { try { System.Net.HttpWebRequest req = (System.Net.HttpWebRequest)WebRequest.Create(_WebFileUrl); //Http和服务器交互 req.Credentials = new NetworkCredential(_UserName,_Password); //验证密码 req.PreAuthenticate = true; req.Method="PUT";//采用PUT方式 req.AllowWriteStreamBuffering=true; Stream reqStream = req.GetRequestStream(); FileStream rdm = new FileStream(_LocalFile,FileMode.Open); //打开本地文件流 byte[] inData = new byte[4096]; int byteRead = rdm.Read(inData,0,inData.Length); //二进制读文件 while(byteRead>0) { reqStream.Write(inData,0,byteRead); //响应流写入 byteRead = rdm.Read(inData,0,inData.Length); } rdm.Close(); reqStream.Close(); req.GetResponse(); //提交 } catch(Exception e) { return 0; } return 1; //正确返回 }

上一篇:CentOS下yum安装LAMP
下一篇:面试题整理:JavaWeb部分

相关文章

相关评论

本站评论功能暂时取消,后续此功能例行通知。

一、不得利用本站危害国家安全、泄露国家秘密,不得侵犯国家社会集体的和公民的合法权益,不得利用本站制作、复制和传播不法有害信息!

二、互相尊重,对自己的言论和行为负责。