zoukankan      html  css  js  c++  java
  • c#批量上传图片到服务器示例分享

      这篇文章主要介绍了c#批量上传图片到服务器示例,服务器端需要设置图片存储的虚拟目录,需要的朋友可以参考下

     1 /// <summary>
     2 /// 批量上传图片
     3 /// </summary>
     4 /// <param name="srcurl">服务器路径</param>
     5 /// <param name="imagesPath">图片文件夹路径</param>
     6 /// <param name="files">图片名称</param>
     7 public void UpLoadFile(string srcurl, string imagesPath, List<string> files)
     8 {
     9     int count = 1;
    10     foreach (string imageName in files)
    11     {
    12         string name = imageName;
    13         string url = null;
    14         //+  加号特殊处理
    15         if (name.Contains("+"))
    16         {
    17             url = srcurl + "name=" + name.Replace("+", "%2B");
    18         }
    19         else
    20         {
    21             url = srcurl + "name=" + name;
    22         }
    23         FileStream fs = new FileStream(imagesPath + name, FileMode.Open);
    24         byte[] data = new byte[fs.Length];
    25         fs.Read(data, 0, data.Length);
    26         fs.Close();
    27         HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
    28         request.ContentType = "image/jpeg";
    29         request.Method = "POST";
    30         Encoding encoding = Encoding.UTF8;
    31         request.ContentLength = data.Length;
    32         Stream requestStream = request.GetRequestStream();
    33         requestStream.Write(data, 0, data.Length);
    34         requestStream.Close();
    35 
    36         HttpWebResponse response = (HttpWebResponse)request.GetResponse();
    37         StreamReader streamReader = new StreamReader(response.GetResponseStream(), encoding);
    38         string retString = streamReader.ReadToEnd();
    39         streamReader.Close();
    40         Console.WriteLine((count++) + "/" + files.Count);
    41     }
    42 }

    服务器端代码:

     1 using System;
     2 using System.Collections.Generic;
     3 using System.Linq;
     4 using System.Web;
     5 using System.Web.UI;
     6 using System.Web.UI.WebControls;
     7 using System.Net;
     8 using System.Text;
     9 using System.IO;
    10 public partial class upload : System.Web.UI.Page
    11 {
    12 
    13     protected void Page_Load(object sender, EventArgs e)
    14     {
    15         string fPath = Server.MapPath("服务器端图片存储的虚拟目录名称");//得到虚拟目录的真实路径//检查存储目录
    16         if (!Directory.Exists(fPath))
    17         {
    18             Directory.CreateDirectory(fPath);
    19         }
    20         string name = Request.QueryString["name"];//得到文件名
    21         HttpUtility.UrlEncode(name, Encoding.GetEncoding("UTF-8"));
    22         if (name != null)
    23         {
    24             if (!File.Exists(fPath + name))
    25             {
    26                 System.IO.Stream stream = Request.InputStream;
    27                 byte[] buffer = new byte[stream.Length];
    28                 FileStream fs = null;
    29                 try
    30                 {
    31                     fs = new FileStream(fPath + name, FileMode.Create);
    32                     while ((stream.Read(buffer, 0, buffer.Length)) > 0)
    33                     {
    34                         fs.Write(buffer, 0, buffer.Length);
    35                     }
    36                 }
    37                 catch (IOException ioe)
    38                 {
    39                     Response.Write(ioe);
    40                 }
    41                 finally
    42                 {
    43                     if (fs != null)
    44                     {
    45                         fs.Close();
    46                     }
    47                     stream.Close();
    48                 }
    49                 Response.Write(name + "<br>");
    50                 Response.Write(File.Exists(fPath + name) + "<br>");
    51             }
    52          }
    53         Response.Write("上传完毕" + Directory.Exists(fPath) + Path.GetFullPath(fPath));
    54     }
    55 }
  • 相关阅读:
    6-快捷键
    5(拓展)-页面内跳转
    4-html图片与链接
    3-html块-语义化的标签
    2-html标题、段落、换行与常用的字符实体
    1-html基本结构与编写规范
    BeautifulSoup模板简单应用-提取html指定数据(api_name/api_method/api_path,请求body/请求header/pagam参数)
    多线程执行sql报错处理
    jmeter配置分布式调度:远程启动其他机器实现多台pc一起并发
    5. openCV中常用函数学习
  • 原文地址:https://www.cnblogs.com/felix-wang/p/6296483.html
Copyright © 2011-2022 走看看