·您现在的位置: 云翼网络 >> 文章中心 >> 网站建设 >> 网站建设开发 >> ASP.NET网站开发 >> C#批量上传图片到服务器

C#批量上传图片到服务器

作者:佚名      ASP.NET网站开发编辑:admin      更新时间:2022-07-23

C#批量上传图片到服务器

客户端代码:

 /// <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));    }}