当前位置: 首页 > news >正文

小程序网站建设百度网站首页

小程序网站建设,百度网站首页,深圳广告网站设计制作,网站怎么做百度认证对于图片上传代码的整合 因为需要判断上传的图片的宽高是否符合尺寸,所以在最初拿到inputstream的时候,就直接获取image格式的图片 本来是想在下面的checkFile中获取的,不过直接使用System.Drawing.Image.FromStream(request.PostedFile.Inpu…

对于图片上传代码的整合

因为需要判断上传的图片的宽高是否符合尺寸,所以在最初拿到inputstream的时候,就直接获取image格式的图片

本来是想在下面的checkFile中获取的,不过直接使用System.Drawing.Image.FromStream(request.PostedFile.InputStream);的时候报错了,错误意思是说参数为空,应该是由于上面获取byte[]file的时候,关闭了stream,导致request.PostFile.InputStream也没有了,所以直接在IO中读取数据流的时候获取image格式对象

突然想起来还有个 image和bitmap之间的转换:

因为png格式的保存用的是bitmap空白处才不会填充,所以会使用到这种转换

Image originalImage = Image.FromFile(originalImagePath);
Bitmap oriImg = new Bitmap(originalImage);

 

public class UploadService
{    public bool SaveAs(UploadRequest request, out string filePath, out string errMessage){filePath = string.Empty;//**************************************初始化byte长度.byte[] file = new Byte[request.PostedFile.ContentLength];//**************************************读取stream,并转换为byte类型以及获取image类型System.IO.Stream stream = request.PostedFile.InputStream;stream.Read(file, 0, request.PostedFile.ContentLength);Image image = System.Drawing.Image.FromStream(stream);stream.Close();//**************************************判断条件if(!CheckFile(request,image, file, out errMessage)){return false;}//**************************************设置路径SetFile(ref request);filePath = request.SavePath;//**************************************保存至文件路径var fs = new FileStream(filePath, FileMode.Create, FileAccess.Write);fs.Write(file, 0, file.Length);fs.Flush();fs.Close();//**************************************获取相对路径filePath = GetSimplePath(filePath);if (string.IsNullOrEmpty(errMessage)){return true;}else{return false;}}/// <summary>/// 判断文件的相关条件/// </summary>/// <param name="request"></param>/// <param name="file"></param>/// <param name="errMessage"></param>/// <returns></returns>private bool CheckFile(UploadRequest request,Image image, byte[] file, out string errMessage){errMessage = string.Empty;// 读取原始文件名string localFileName = Path.GetFileName(request.PostedFile.FileName);//得到扩展名var ext = localFileName.Substring(localFileName.LastIndexOf('.') + 1).ToLower();//如果没有设定扩展名,则使用本身的扩展名存储if (string.IsNullOrEmpty(request.Ext)){request.Ext = ext;}//判断传入的数据if (file.Length == 0){errMessage = "无数据提交";return false;}//判断文件是否超过限定大小if (file.Length > this.MaxFilesize){errMessage = "文件大小超过" + this.MaxFilesize + "字节";return false;}//判断扩展名是否属于给定的if (request.Format!=null&& request.Format.Length > 0 && !request.Format.Contains(ext)){errMessage = "上传文件扩展名必需为:" + string.Join(",", request.Format);return false;}//判断宽高是否符合要求if (request.Width > 0||request.Height>0){if (request.Width>0&&Math.Abs( image.Width-request.Width)>1){errMessage="宽不符合";image.Dispose();return false;}else if(request.Height>0&&Math.Abs(image.Height-request.Height)>1){errMessage="高不符合";image.Dispose();return false;}}return true;}/// <summary>/// 设置保存路径以及创建文件夹/// </summary>/// <param name="request"></param>private void SetFile(ref UploadRequest request){//如果路径没有设定,则按照给定的路径设置,不过给定路径的话,一定得先确保这个路径是正确的,且存在的if (string.IsNullOrEmpty(request.SavePath)){string subfolder = "day_" + DateTime.Now.ToString("yyMMdd");string fileFolder = Path.Combine(UploadConfigContext.UploadPath, request.Folder, subfolder);//文件全路径request.SavePath = Path.Combine(fileFolder,string.Format("{0}{1}.{2}", DateTime.Now.ToString("yyyyMMddhhmmss"),new Random(DateTime.Now.Millisecond).Next(10000), request.Ext));if (!Directory.Exists(fileFolder)){Directory.CreateDirectory(fileFolder);}}}}/// <summary>/// 上传使用的参数/// </summary>public class UploadRequest{/// <summary>/// 自行设置时,保存的子文件夹/// </summary>public string Folder { get; set; }/// <summary>/// 设置路径的,如果没设置,则代码自行设置/// </summary>public string SavePath { get; set; }/// <summary>/// 上传的数据/// </summary>public HttpPostedFileBase PostedFile { get; set; }/// <summary>/// 用来自定义控制扩展名的/// </summary>public string[] Format { get; set; }/// <summary>/// 控制宽,<=0则表示不管
        /// </summary>public int Width { get; set; }/// <summary>/// 控制高,<=0则表示不管
        /// </summary>public int Height { get; set; }/// <summary>/// 扩展名/// </summary>public string Ext { get; set; }}
图片上传代码

 

转载于:https://www.cnblogs.com/danlis/p/5955826.html

http://www.lbrq.cn/news/2439343.html

相关文章:

  • 如何黑掉jsp做的网站建站合肥网络公司seo
  • 浙江网站建设哪里好口碑营销策略有哪些
  • 手机站网站建设seo代做
  • 餐饮品牌策划网站优化建议
  • 苏州哪里做网站企业新闻稿发布平台
  • 武汉做鸭兼职网站网站seo置顶
  • 咋样建设网站广告公司取名字参考大全
  • 网站设计与制作简单吗高级seo课程
  • 浙江省建设培训中心网站广州seo推广优化
  • wordpress 主题 purewindows优化大师值得买吗
  • 交通信用网站建设谷歌搜索引擎香港免费入口
  • 怎样做百度推广网站图片外链生成
  • 如何制作课程网站模板下载地址设计网站排行
  • 什么网站是vue做的德阳网站seo
  • 电商网站安全解决方案线上营销平台有哪些
  • wordpress加入aiseo公司官网
  • 中国建设银行网站企业网银收费好的搜索引擎推荐
  • 建设网站具体步骤宁波专业seo服务
  • 酒店预定网站建设方案软文推广代表平台
  • asp.net网站恢复广东网站seo
  • 滨海新网站建设高明搜索seo
  • 做网站策划需要用什么软件抖音seo优化排名
  • 面试网站建设的问题百度查关键词显示排名
  • 南宁网站排名优化公司怎么注册网址
  • 下载类网站开发条件地推公司排名
  • 怀柔网页公司制作合作seo公司
  • 全国学校网站建设百度网盘下载慢怎么解决
  • 17一起做网站广州网络营销方式哪些
  • 手机网站制作视频教程南京百度推广优化排名
  • 怎么给网站做网页网站制作河南
  • MCNN-BiLSTM-Attention分类预测模型等!
  • 一文读懂 HTTPS:证书体系与加密流程
  • 【智能协同云图库】智能协同云图库第六弹:空间模块开发
  • 【Linux系统编程】基础指令
  • HakcMyVM-Luz
  • BUUCTF(web)部分题解