首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 服务器 > Apache >

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

2012-12-14 
apache 使用put方法进行文件上传最近在写一个C#的应用程序,想实现向自己的ubuntu服务器上传文件使用put方

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

热点排行