用winform 上传文件到IIS7.5怎么弄

chenjiale1987 2012-05-04 10:56:45
string fileNamePath = txtFileName.Text.Trim();
string uriString = txtServerPath.Text.Trim();
string fileName = fileNamePath.Substring(fileNamePath.LastIndexOf("\\") + 1);
string fileNameExt = fileName.Substring(fileName.LastIndexOf(".") + 1);
if (uriString.EndsWith("/") == false) uriString = uriString + "/";
uriString = uriString + fileName;
WebClient myWebClient = new WebClient();
myWebClient.Credentials = CredentialCache.DefaultCredentials;
FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
BinaryReader r = new BinaryReader(fs);
try
{
byte[] postArray = r.ReadBytes((int)fs.Length);
Stream postStream = myWebClient.OpenWrite(uriString, "PUT");
if (postStream.CanWrite)
{
postStream.Write(postArray, 0, postArray.Length);
label1.Text = fileName + "上传成功!";
}
else
label1.Text = "文件目前不可写!";
postStream.Close();
linkLabel1.Text = "查看上载的文件";
for (int i = linkLabel1.Links.Count - 1; i > -1; i--)
linkLabel1.Links.Remove(linkLabel1.Links[i]);
linkLabel1.Links.Add(0, linkLabel1.Text.Length, uriString);
}catch (WebException errMsg){
label1.Text = "上传失败:" + errMsg.Message;
}string fileNamePath = txtFileName.Text.Trim();
string uriString = txtServerPath.Text.Trim();
string fileName = fileNamePath.Substring(fileNamePath.LastIndexOf("\\") + 1);
string fileNameExt = fileName.Substring(fileName.LastIndexOf(".") + 1);
if (uriString.EndsWith("/") == false) uriString = uriString + "/";
uriString = uriString + fileName;
WebClient myWebClient = new WebClient();
myWebClient.Credentials = CredentialCache.DefaultCredentials;
FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
BinaryReader r = new BinaryReader(fs);
try
{
byte[] postArray = r.ReadBytes((int)fs.Length);
Stream postStream = myWebClient.OpenWrite(uriString, "PUT");
if (postStream.CanWrite)
{
postStream.Write(postArray, 0, postArray.Length);
label1.Text = fileName + "上传成功!";
}
else
label1.Text = "文件目前不可写!";
postStream.Close();
linkLabel1.Text = "查看上载的文件";
for (int i = linkLabel1.Links.Count - 1; i > -1; i--)
linkLabel1.Links.Remove(linkLabel1.Links[i]);
linkLabel1.Links.Add(0, linkLabel1.Text.Length, uriString);
}catch (WebException errMsg){
label1.Text = "上传失败:" + errMsg.Message;
}
红色部分出错 ,404错误
...全文
172 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
chenjiale1987 2012-05-04
  • 打赏
  • 举报
回复
IIS可以访问,但是我不知道找不到目标是找什么目标啊,那个服务器要上传的完整文件名不是自动创建的吗?

Stream postStream = myWebClient.OpenWrite(uriString, "PUT");
这个uristring 是服务器路径(包含文件名的)
bdmh 2012-05-04
  • 打赏
  • 举报
回复
404,找不到目标的错误,看看你iis配对了么,能否访问
chenjiale1987 2012-05-04
  • 打赏
  • 举报
回复
有没有高人指点一下啊 小弟万分感激
cjh200102 2012-05-04
  • 打赏
  • 举报
回复
楼主这么快,不错
chenjiale1987 2012-05-04
  • 打赏
  • 举报
回复
找到原因了 没有启用webdav

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧