webclient 上传文件 403 错误
在winform下 用webclient 上传文件到Tomcat 服务器发生远“程服务器返回错误: (403) 已禁止” 当服务器是IIS 时开启匿名访问的权限可以顺利上传.现在服务器改用Tomcat发生以上错误,可能是权限问题,在Tomcat 下应该怎样设置?是否只能上传到IIS???程序代码如下:
/// 得到文件名,文件扩展名字,服务器路径
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实例
WebClient myWebClient = new WebClient();
myWebClient.Credentials = CredentialCache.DefaultCredentials;
// 要上传的文件
FileStream fs = new FileStream(fileName, FileMode.Open, FileAccess.Read);
//FileStream fs = OpenFile();
BinaryReader r = new BinaryReader(fs);
try
{
//使用UploadFile方法可以用下面的格式
//myWebClient.UploadFile(uriString,"PUT",fileNamePath);
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.Flush();
postStream.Close();//问题出在这里 远程服务器返回错误: (403) 已禁止。"
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;
}
在远程服务器返回错误: (403) 已禁止。"
--------------------编程问答-------------------- 帮顶 不懂Tomcat --------------------编程问答-------------------- 自己顶一下!大虾们帮帮忙 --------------------编程问答-------------------- up --------------------编程问答-------------------- 怎么没人解答,大家帮帮忙 --------------------编程问答-------------------- 肯定不是只能传iis,使用的都是http协议,跟使用什么服务器无关! --------------------编程问答-------------------- 那有可能是权限设置的问题,在IIS安装后文件夹下有安全和web共享选项,进行相关的设置就可以正常上传,在Tomcat下没有那些选项,应该怎么设置那? --------------------编程问答-------------------- 再加点分 急需解决 --------------------编程问答-------------------- 这里是.NET区
Tomcat... --------------------编程问答-------------------- 加入ASP。NET C#群吧,群号是: 1873156 --------------------编程问答-------------------- 有什么方式解决吗? --------------------编程问答-------------------- Tamcat需要启用WEBDev --------------------编程问答-------------------- 在tomcat web.xml文件中配置org.apache.catalina.servlets.DefaultServlet的
<init-param>
<param-name>readonly</param-name>
<param-value>false</param-value>
</init-param>
readonly参数默认是true,即不允许delete和put操作,所以通过XMLHttpRequest对象的put或者delete方法访问就会报告http 403错误。为REST服务起见,应该设置该属性为false。
补充:.NET技术 , C#