背景:
在IIS里面有一虚拟目录 tempImage,用来存放客户端上传的图片文件。需要的时候按照文件名下载。我用的方法是百度文档里面的,
我调用的代码如下,现在报服务器没有响应的错误,请问是IIS需要设置什么吗??
 string URi = "http://10.10.10.21/tempImage/";
            WebRequest myWebRequest = WebRequest.Create(URi);
            myWebRequest.Timeout = -1;
            try
            {
                WebResponse webResponse = myWebRequest.GetResponse();
                Stream webStream = webResponse.GetResponseStream();
                webStream.Close();
                UploadFile(@"d:\box2.lab", URi,false);
            }UploadFile代码如下(百度来的)
  public void UploadFile(string fileNamePath, string uriString, bool IsAutoRename)
        {
              
            string fileName = fileNamePath.Substring(fileNamePath.LastIndexOf("\\") + 1);
            
            string fileNameExt = fileName.Substring(fileName.LastIndexOf(".") + 1).ToLower();            string newName = fileName;
            Guid gg = Guid.NewGuid();
            if (IsAutoRename == true)
            {
    newName = gg.ToString() + fileName.Substring(fileName.LastIndexOf("."));             }
            if (uriString.EndsWith("/") == false)
            { uriString = uriString + "/"; }
            uriString = uriString + newName;
            WebClient client = new WebClient();
            client.Credentials = CredentialCache.DefaultCredentials;            FileStream fs = new FileStream(fileNamePath, FileMode.Open, FileAccess.ReadWrite);            BinaryReader br = new BinaryReader(fs); //
            byte[] postArray = br.ReadBytes((int)fs.Length);
            Stream postStream = client.OpenWrite(uriString, "PUT");            try
            {
                if (postStream.CanWrite)
                {
                    postStream.Write(postArray, 0, postArray.Length);
                    postStream.Close();
                    fs.Dispose();
                    MessageBox.Show("上传成功");
                }
                else
                {
                    postStream.Close();
                    fs.Dispose();
                    MessageBox.Show("上传失败");
                }
            }
            catch (Exception ex)
            {
                postStream.Close();
                fs.Dispose();
                MessageBox.Show("上传文件异常" + ex.Message); throw ex;
            }
            finally
            {
                postStream.Close();
                fs.Dispose();
            }
        }

解决方案 »

  1.   

    没有,目前服务器端我就在IIS里面增加了一个 虚拟目录
      

  2.   

    + ex {"远程服务器返回错误: (404) 未找到。"} System.Exception {System.Net.WebException}
      

  3.   

    先在 tempImage下建一个default.aspx,用FileUpload服务器控件建一个上传页面,后台写保存程序保存文件到本地。
    http://www.cnblogs.com/daban/archive/2012/12/03/2800035.html
    http://msdn.microsoft.com/zh-cn/library/system.web.ui.webcontrols.fileupload(v=vs.85).aspx
      

  4.   


    http://blog.csdn.net/sbayje/article/details/8177830
    希望能帮助到你 ( ・ิω・ิ)
      

  5.   

    写个上传的页面,然后看看curl就行了
      

  6.   

    最后放弃这个方法了,改用模拟httpPost的方式进行了,多谢各位!
      

  7.   

    楼主的这种用法存在安全隐患,如果上传一个 aspx 文件的话,网站就不保了。
    上传的文件一定不要在 IIS 中可直接访问。