近期要实现一个小的功能,要求上传文件到服务器,并能解析出来上传图片的链接地址保存到一个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