读书人

apache 使用put方法进行文件下传

发布时间: 2012-12-14 10:33:08 作者: rapoo

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怎么做?

读书人网 >Apache

热点推荐