• C# WinForm 上传文件到服务器


    这几天折腾了下 C# 上传文件到 web 服务器的事情,看了好多地方使用 WebResponse /HttpWebResponse 来模拟form的post请求。实际上并没有那么复杂。。

    首先,我们得准备php的代码,用来接收文件和存文件哇~我这里就简单的拿 w3school的例子。。

    php 上传页面:

    <html>
    <body>
    
    <form action="upload_file.php" method="post" enctype="multipart/form-data">
    <label for="file">Filename:</label>
    <input type="file" name="file" id="file" /> 
    <br />
    <input type="submit" name="submit" value="Submit" />
    </form>
    
    </body>
    </html>

    php上传接收页面:

    <?php
    if ($_FILES["file"]["error"] > 0)
      {
      echo "Error: " . $_FILES["file"]["error"] . "<br />";
      }
    else
      {
      echo "Upload: " . $_FILES["file"]["name"] . "<br />";
      echo "Type: " . $_FILES["file"]["type"] . "<br />";
      echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
      echo "Stored in: " . $_FILES["file"]["tmp_name"];
      
      if (file_exists("upload/" . $_FILES["file"]["name"]))
          {
          echo $_FILES["file"]["name"] . " already exists. ";
          }
        else
          {
          move_uploaded_file($_FILES["file"]["tmp_name"],
          "upload/" . $_FILES["file"]["name"]);
          echo "Stored in: " . "upload/" . $_FILES["file"]["name"] ;
          }
        
      }
    ?>

      OK~

    php自身测试下,肯定么的问题哇~

    测试完成后,我们就开始使用C# 上次数据了。。

    其实很简单。。使用的是 WebClient 代码如下:

    //发送文件
            public static  string SendFile(string fileName, Uri uri,string encodingType = "UTF-8")
            {
    
                WebClient myWebClient = new WebClient();
                byte[] responseArray = myWebClient.UploadFile(uri, "POST", fileName);
    
                return Encoding.GetEncoding(encodingType).GetString(responseArray);
            }

      当然,我们这里的 Uri 需要填写为post的uri ,也就是上文中的 php 接收页面。

    调用 :  

    SendFile(@"D:\h.txt", new uri("http://localhost/upload_file.php");

     

     

  • 相关阅读:
    ASP.NET提供文件下载函数
    web.config access数据库相对路径设置方法 for asp.net2.0
    MSDE安装后身份验证自动是windows验证,osql命令中修改为sqlserve身份验证或混合验证呢及注冊表修改方法
    关于ASP.NET IIS的注册:
    指定datagrid编辑框的宽度及相映属性(转)备用
    TransparentListBox
    在dll中使用FastReport会遇到以下内个问题
    值得学习一
    注册表恢复默认共享
    有关dnn的安装不成功问题
  • 原文地址:https://www.cnblogs.com/lingfengchencn/p/2549860.html
Copyright © 2020-2023  润新知