c#批量上传图片到服务器示例分享
c#批量上传图片到服务器示例分享
发布时间:2016-12-28 来源:查字典编辑
摘要:客户端代码:复制代码代码如下://////批量上传图片//////服务器路径///图片文件夹路径///图片名称publicvoidUpLoa...

客户端代码:

复制代码 代码如下:

/// <summary>

/// 批量上传图片

/// </summary>

/// <param name="srcurl">服务器路径</param>

/// <param name="imagesPath">图片文件夹路径</param>

/// <param name="files">图片名称</param>

public void UpLoadFile(string srcurl, string imagesPath, List<string> files)

{

int count = 1;

foreach (string imageName in files)

{

string name = imageName;

string url = null;

//+ 加号特殊处理

if (name.Contains("+"))

{

url = srcurl + "name=" + name.Replace("+", "%2B");

}

else

{

url = srcurl + "name=" + name;

}

FileStream fs = new FileStream(imagesPath + name, FileMode.Open);

byte[] data = new byte[fs.Length];

fs.Read(data, 0, data.Length);

fs.Close();

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);

request.ContentType = "image/jpeg";

request.Method = "POST";

Encoding encoding = Encoding.UTF8;

request.ContentLength = data.Length;

Stream requestStream = request.GetRequestStream();

requestStream.Write(data, 0, data.Length);

requestStream.Close();

HttpWebResponse response = (HttpWebResponse)request.GetResponse();

StreamReader streamReader = new StreamReader(response.GetResponseStream(), encoding);

string retString = streamReader.ReadToEnd();

streamReader.Close();

Console.WriteLine((count++) + "/" + files.Count);

}

}

服务器端代码:

复制代码 代码如下:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Web;

using System.Web.UI;

using System.Web.UI.WebControls;

using System.Net;

using System.Text;

using System.IO;

public partial class upload : System.Web.UI.Page

{

protected void Page_Load(object sender, EventArgs e)

{

string fPath = Server.MapPath("服务器端图片存储的虚拟目录名称");//得到虚拟目录的真实路径//检查存储目录

if (!Directory.Exists(fPath))

{

Directory.CreateDirectory(fPath);

}

string name = Request.QueryString["name"];//得到文件名

HttpUtility.UrlEncode(name, Encoding.GetEncoding("UTF-8"));

if (name != null)

{

if (!File.Exists(fPath + name))

{

System.IO.Stream stream = Request.InputStream;

byte[] buffer = new byte[stream.Length];

FileStream fs = null;

try

{

fs = new FileStream(fPath + name, FileMode.Create);

while ((stream.Read(buffer, 0, buffer.Length)) > 0)

{

fs.Write(buffer, 0, buffer.Length);

}

}

catch (IOException ioe)

{

Response.Write(ioe);

}

finally

{

if (fs != null)

{

fs.Close();

}

stream.Close();

}

Response.Write(name + "<br>");

Response.Write(File.Exists(fPath + name) + "<br>");

}

}

Response.Write("上传完毕" + Directory.Exists(fPath) + Path.GetFullPath(fPath));

}

}

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新C#教程学习
热门C#教程学习
编程开发子分类