• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

c#多图片上传并生成缩略图的实例代码

asp 搞代码 4年前 (2022-01-03) 26次浏览 已收录 0个评论

今天写了一个上传多张图片并生成缩略图的小程序。当然因为是菜鸟,所以写的一般。但还是学到了不少东西。现在上代码。

前台代码:

代码如下:

 

 

 
 
    
    
    
         li
         {
             list-style: none;
             padding-top: 10px;
         }
    
    
    
 
 
    
        

                      

                    

  •                     
                    
  •                 

  •                     
                    
  •                 

  •                     
                    
  •                 

  •                     
  •                 

  •                     

                    

  •                 

  •                     
                    
  •             

        

    
 
 

前台就是几个控件和一个ValidImage方法。

后台代码:

代码如下:

  protected void btnPostFile_ServerClick(object sender, EventArgs e)
     {
         string filePath = Server.MapPath(“/uploadImg”);
         const int size = 5242880;
         if (!Directory.Exists(filePath))
         {
             Directory.CreateDirectory(filePath);
         }
         if (Request.Files.Count > 0)
         {
             for (int i = 0; i <Request.Files.Count; i++)
             {
                 HttpPostedFile postFile = Request.Files[i];
                 string uploadFileID = string.Format(“#upload{0}”, i + 1);  //当前的上传控件ID,因为jquery要调用就加了#
                 string msg = null;                 //提示信息
                 if (postFile.FileName.Trim().Length <= 0)
                 {
                     continue;
                 }
                 if (postFile.ContentLength > size)
                 {
                     msg = “文件太大”;
                     Page.ClientScript.RegisterStartupScript(GetType(), “”, “ValidImage(” + uploadFileID + “,” + msg + “)”, true);//将提示信息发送到客户端
                     continue;
                 }
                 string savePath = Path.Combine(filePath, postFile.FileName);        //图片的保存地址
                 if (!File.Exists(savePath))
                 {
                     postFile.SaveAs(Path.Combine(filePath, postFile.FileName));     //如果文件不存在就保存
                 }
                 else
                 {
                     msg = “文件” + postFile.FileName + “已经存在”;
                     Page.ClientScript.RegisterStartupScript(GetType(), “”, “ValidImage(” + uploadFileID + “,” + msg + “)”, true);//将提示信息发送到客户端
                     continue;
                 }
                 if (IsImg(savePath))            //通过IsImg方法验证文件是否是图片,或者格式是否正确
                 {
                     SmallImg(postFile.InputStream, postFile.FileName);
                 }
                 else
                 {
                     msg = “只能上传JGP、PNG类型的图片,请检查文件格式是否正确”;
                     Page.ClientScript.RegisterStartupScript(GetType(), “”, “ValidImage(” + uploadFileID + “,” + msg + “)”, true);//将提示信息发送到客户端
                     File.Delet来源gaodaimacom搞#代%码网e(savePath);  //如果不是图片就删除
                 }
             }
         }
     }

代码如下:

  #region 验证上传文件的格式
     ///

     /// 验证上传文件是否是图片
     ///

     /// 文件的保存路径
     ///
     private bool IsImg(string FilePath)
     {
         using (FileStream fs = new FileStream(FilePath, FileMode.Open, FileAccess.Read))
         {
             bool result = false;
             BinaryReader br = new BinaryReader(fs, System.Text.Encoding.UTF8);
             string strImg = “”;
             byte buffer;
             try
             {
                 buffer = br.ReadByte();
                 strImg = buffer.ToString();
                 buffer = br.ReadByte();
                 strImg += buffer.ToString();
             }
             catch
             {
                 fs.Close();
                 br.Close();

             }
             if (strImg == “255216” || strImg == “13780”)//说明255216是jpg;7173是gif;6677是BMP,13780是PNG;7790是exe,8297是rar
             {
                 result = true;
             }
             return result;
         }
     }
     #endregion

以上就是c#多图片上传并生成缩略图的实例代码的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:c#多图片上传并生成缩略图的实例代码

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址