上传文件到服务器

近期要实现一个小的功能,要求上传文件到服务器,并能解析出来上传图片的链接地址保存到一个txt文档


首先想到的是用mfc http协议上传文件,在网上找了好多资料,流程基本都一样,可是在封装协议的时候出现了问题,

网上找了好多,都没有找到合理的解决方法,最终还是放弃了。选择了用C#来做

以下是基本过程:比起第一种方法简单的多了去了

 public WebClient myclient = new WebClient();

myclient.UploadFile(strUrl, "POST", fileName);// strUrl 为要上传文件的服务器的Url,(保存的目录) 。 fileName为要上传的文件的路径

简单的两行代码就可以实现简单的上传操作



获取网页内容保存到txt文档:

string tmp;

string strUrl = @"http://192.168.1.198:8080/Web_Upload/listFile";

tmp=myclient.DownloadString(strUrl);


           
            //将网页内容写入txt文件
          FileStream fs = new FileStream("d:\\log.txt", FileMode.OpenOrCreate);
            StreamWriter sw = new StreamWriter(fs);
            sw.Write(tmp);
            sw.Close();
            fs.Close();


将获得的网页内容文档解析,取得图片的链接地址字符串,写入一个新的txt文档

  FileStream tmpfs = new FileStream("d:\\tmplog.txt", FileMode.OpenOrCreate);
            StreamWriter tmpsw = new StreamWriter(tmpfs);
            string temp = null;
            while(sr.EndOfStream == false)
            {
    
                temp = sr.ReadLine();
                string sign = "href";
                if (temp.IndexOf(sign) > -1)
                {
                   // temp.Split(temp, );
                    Regex regex = new Regex("\"[^\"]*\"");//正则表达式,获取字符串中双引号中间的字符串
                    string result = regex.Match(temp).Value.Replace("\"", "");

                    tmpsw.WriteLine(strPicUrl+result);//生成图片的链接地址字符串
                }
                    //tmpsw.WriteLine(temp);
           
            }

备注:d:\\log.txt内容:


<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <title>文件可下载列表</title>
  </head>
  <body>
资源库中所有可下载的列表:<br>


<a href="upload/1.jpg">1.jpg</a><br>


<a href="upload/2.jpg">2.jpg</a><br>


<a href="upload/as.PNG">as.PNG</a><br>


<a href="upload/Chrysanthemum.jpg">Chrysanthemum.jpg</a><br>


<a href="upload/Desert.jpg">Desert.jpg</a><br>


<a href="upload/df.PNG">df.PNG</a><br>


<a href="upload/in_09.jpg">in_09.jpg</a><br>


<a href="upload/in_12.jpg">in_12.jpg</a><br>


<a href="upload/in_30.jpg">in_30.jpg</a><br>


<a href="upload/Koala.jpg">Koala.jpg</a><br>


<a href="upload/qwert.jpg">qwert.jpg</a><br>


生成的最终tmplog.txt的内容如下:

http://192.168.1.198:8080/Web_Upload/upload/1.jpg
http://192.168.1.198:8080/Web_Upload/upload/2.jpg
http://192.168.1.198:8080/Web_Upload/upload/as.PNG
http://192.168.1.198:8080/Web_Upload/upload/Chrysanthemum.jpg
http://192.168.1.198:8080/Web_Upload/upload/Desert.jpg
http://192.168.1.198:8080/Web_Upload/upload/df.PNG
http://192.168.1.198:8080/Web_Upload/upload/in_09.jpg
http://192.168.1.198:8080/Web_Upload/upload/in_12.jpg
http://192.168.1.198:8080/Web_Upload/upload/in_30.jpg
http://192.168.1.198:8080/Web_Upload/upload/Koala.jpg







评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值