apache 使用put方法进行文件上传
最近在写一个C#的应用程序,想实现向自己的ubuntu服务器上传文件
使用put方法:
public bool uploadfile(string netLocation, string localPath, ref string retString)
{
bool retState = false;
string tmp = "http://" + serverIP + "/" + netLocation;
try
{
WebClient myWebClient = new WebClient();
FileStream fs = new FileStream(localPath, FileMode.Open, FileAccess.Read);
BinaryReader br = new BinaryReader(fs);
Byte[] postArray = br.ReadBytes(Convert.ToInt32(fs.Length));
Stream postStream = myWebClient.OpenWrite(tmp.Trim(), "PUT");
if (postStream.CanWrite)
{
postStream.Write(postArray, 0, postArray.Length);
} postStream.Close();
fs.Close();
retString = "上传成功";
retState = true;
}
catch (Exception ex)
{
retState = false;
retString = tmp.Trim() + ":" + ex.Message;
}
return retState;
}
wClient.UploadFile(tmp.Trim(), "PUT", localPath);
提示:
远程服务器返回错误: (405) 不允许的方法;
查了资料说,apache安装默认不支持put和delete方法,需要修改配置文件
于是修改httpd.conf,添加:
LoadModule dav_module modules/mod_dav.so问题来了:
LoadModule dav_fs_module modules/mod_dav_fs.so
<Directory "/var/www/community_server_res/images/ware_images">
Dav On
AllowOverride None
Options All
Order allow,deny
Allow from all
</Directory>
modules/mod_dav.so和modules/mod_dav_fs.so两个模块文件找不到,看了etc/apache2/下确实没有modules文件夹
请问现在该怎么办啊?
[解决办法]
怎么该怎么该?
[解决办法]
居然没人回答,哎……用post做了
[解决办法]
请问PUT的问题解决了吗?我把两个模块都load了还是搞不定。。。另外,POST怎么做?