向IIS传文件大家可能都会去写一个接收的页面,其实只要在IIS里设置“允许写”就可以直接向IIS所在的虚拟目录中上传文件了,不过这个很危险,本人并不建议使用,因为你可以方便上传下载文件,也代表其他人也可以轻易上传下载文件。
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(@"http://localhost/test111/113.txt"); //地址是你要上传文件并且在服务器上创建的文件名
request.Method = WebRequestMethods.File.UploadFile;
request.AllowWriteStreamBuffering = true;
Stream s = request.GetRequestStream();
FileStream fs = new FileStream(@"C:\text.txt", FileMode.Open, FileAccess.Read);
byte[] b = new byte[fs.Length];
fs.Read(b, 0, b.Length);
s.Write(b, 0, b.Length);
s.Flush();
fs.Close();
s.Close();
request.GetResponse(); //这句话一定要写否则虚拟目录下出不来文件
删除某个文件
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(@"http://localhost/test111/113.txt");
request.Method =“DELETE”;
request.AllowWriteStreamBuffering = true;
request.GetResponse();
读取远程iis上的文件
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(@"http://localhost/test111/113.txt");
request.ContentType = "application/octet-stream";
request.Method = WebRequestMethods.File.DownloadFile;
request.AllowWriteStreamBuffering = true;
WebResponse response = request.GetResponse();
Stream s = response.GetResponseStream();
byte[] b = new byte[response.ContentLength];
for (int i = 0; i < b.Length; i++)
b[i] = (byte)s.ReadByte();
s.Close();
string a = Encoding.UTF8.GetString(b);
之前使用发现一个问题在win2003上的iis使用时一直会报“501未实现”错误,找了一些资料发现原来要开启iis扩展,要打开webdav