前台页面

//上传图片
function UploadFile() {var file = $('#fileInput').files[0]if(CheckFile(file,1)!='通过'){return;}var formdata = new FormData();//文件formdata.append("file", file);formdata.append("cmd", 'uploadimg');//console.log(formdata);//显示loading//ShowLoading(true);$.ajax({type: "post",url: "./Action/ChatAction.aspx",data: formdata,//async: false,/***必须false才会自动加上正确的Content-Type*/contentType: false,/*** 必须false才会避开jQuery对 formdata 的默认处理* XMLHttpRequest会对 formdata 进行正确的处理*/processData: false,dataType: 'json',success: function (data) {//图片上传成功if (data.status == 0) {}//图片上传失败else {console.log(data.errMsg);}//隐藏loadingShowLoading(false);},error: function (data) {console.log(data.statusText);//隐藏loadingShowLoading(false);}});
}//检查文件类型、大小
function CheckFile(file, type) {let allowType = {".png": 1, ".jpeg": 1, ".jpg": 1, ".gif": 1,".mp3": 2,".mp4": 3};let allowSize = { 1: 2097152, 2: 5242880, 3: 20971520 };let errMsg = {"1": '图片格式不正确',"2": '音频格式不正确',"3": '视频格式不正确'};let errSizeMsg = {'1': '图片文件大于2M','2': '音频文件大于5M','3': '视频文件大于20M',}let ext = file.name.substr(file.name.lastIndexOf(".")).toLowerCase();let res = allowType[ext];if (res != type) {return errMsg[type];}if (file.size > allowSize[res]) {return errSizeMsg[type];}return '通过';
}

后台页面

private void DoUploadImg() {string retVal = "{\"status\":1,\"errMsg\":\"图片上传失败\" }";try{var files = Request.Files;if (files.Count > 0){var Upload_image = files[0];//图片后缀名string ext = System.IO.Path.GetExtension(Upload_image.FileName).ToLower();if (Upload_image.ContentLength > 1024 * 1024 * 2){retVal = "{\"status\":2,\"errMsg\":\"图片大小超过限制,最大不能超过2M\" }";}else if ((ext != ".jpg" && ext != ".gif" && ext != ".png" && ext != ".jpeg")){retVal = "{\"status\":2,\"errMsg\":\"图片格式不支持\" }";}else {//指定上传文件在服务器上的保存路径string foldPath = string.Format(@"upload\{0}\{1}", DateTime.Now.ToString("yyyy"), DateTime.Now.ToString("MM"));string mapPath = HttpContext.Current.Server.MapPath("~/");//检查服务器上是否存在这个物理路径,如果不存在则创建if (!System.IO.Directory.Exists(mapPath + foldPath)){System.IO.Directory.CreateDirectory(mapPath + foldPath);}//图片重命名,userid+getdatetimestring time = DateTime.Now.ToString("yyyyMMddhhmmss");string newname = time + ext;string savePath = mapPath + foldPath + "\\" + newname;Upload_image.SaveAs(savePath);string ImageUrl = @"/" + foldPath.Replace(@"\", "/") + @"/" + newname;retVal = "{\"status\":0,\"errMsg\":\"" + ImageUrl + "\" }";}}else{retVal = "{\"status\":1,\"errMsg\":\"没有选择图片\" }";}}catch (Exception eX){retVal = "{\"status\":1,\"errMsg\":\"" + eX.Message + "\" }";}Response.Write(retVal);
}

C# ajax上传图片相关推荐

  1. vue用form上传图片_vuejs使用FormData,ajax上传图片文件

    我相信很多使用vuejs的朋友,都有采用ajax上传图片的需求,因为前后端分离后,我们希望都能用ajax来解决数据问题,传统的表单提交会导致提交成功后页面跳转,而使用ajax能够无刷新上传图片等文件. ...

  2. C#也能PS图片,还能为网站Ajax上传图片同时生成微缩图(附Demo)

    C#也能PS图片,还能为网站Ajax上传图片同时生成微缩图(附Demo) 本文旨在与各位朋友们分享我是如何在项目中用C# "ps图片" 为网站生成同比例微缩图的解决方案.如有不足之 ...

  3. 移动端压缩并ajax上传图片解决方案

    移动端压缩并ajax上传图片解决方案 参考文章: (1)移动端压缩并ajax上传图片解决方案 (2)https://www.cnblogs.com/norm/p/6188318.html 备忘一下.

  4. 原生ajax传值php,原生ajax上传图片,php后台处理总结

    原生ajax上传图片,php后台处理总结 这篇文章发布于 2018/10/03,归类于 后端数据库等 标签: 原生ajax上传图片,php后台处理图片上传 开始做图片上传,发现之前的处理方式基本忘光了 ...

  5. ssm 上传图片到mysql_MySQL+SSM+Ajax上传图片问题的分析(图)

    本文主要介绍了MySQL+SSM+Ajax上传图片问题.具有很好的参考价值.下面跟着小编一起来看下吧 第一次写上传图片的代码,碰到很多问题.昨天做了整整一天,终于在晚上的时候成功了.大声欢呼. 但是, ...

  6. ajax上传图片java6,java ajax上传图片返回json数

    java ajax上传图片返回json数 [2021-02-10 00:12:56]  简介: 解决java的ajax提交返回值中文乱码的方法:1.在RequestMapping的并发配置中加代码[p ...

  7. ajax图片预览,Ajax 上传图片并预览的简单实现

    1. 直接上最简单的 一种 ajax 异步上传图片,并预览 html: 图片上传 | cookie file: desc: function upload() { $.ajaxFileUpload({ ...

  8. thinkphp5通过ajax上传图片并预览

    thinkphp5通过ajax上传图片并预览 一.具体需求如图所术: 二.html代码: 三.js代码 四.控制器php代码: 一.具体需求如图所术: 二.html代码: <form class ...

  9. php ajax多图上传预览,Ajax上传图片及先预览功能的实现方法

    最近有几个小项目用到了easyUI,一开始决定使用easyUI就注定了项目整体上前后端分离,基本上所有的请求都采用Ajax来完成.在文件上传的时候用到了Ajax上传文件,以及图片在上传之前的预览效果, ...

  10. canvas使用Ajax上传图片PHP,使用ajax上传图片,并且使用canvas实现出上传进度效果...

    前端代码: 使用ajax上传图片,并使用canvas实现出上传进度效果 #myImg { border: 1px solid gray; border-radius: 8px; position: a ...

最新文章

  1. ef 在此上下文中只支持基本类型或枚举类型_Java 中的 6 颗语法糖
  2. [转载] 晓说——第21期:“看美国”系列之《日裔步兵团的奋战》
  3. js字符串的操作方法
  4. 五大特点_探究干细胞五大特点:(五)不成瘤
  5. 再谈typedef(重点为函数指针)
  6. vue中的 $children 和 $parent
  7. java bufferedrandomaccessfile_java 读写操作大文件 BufferedReader和RandomAccessFile
  8. 知道ip地址如何进入电脑_如何防止局域网电脑IP地址冲突
  9. 迷宫问题(MAZE)
  10. 2021杭电多校第三场 D题—Game on Plane(思维题)
  11. Windows Defender保护历史记录清空方法
  12. 怎样用计算机绘制幂函数图像,几何画板如何画幂函数的图像 绘制方法介绍
  13. 有各组方差怎么算组间平方和_组内离差平方和,组间离差平方和与总离差平方和各反映了什么?...
  14. android activity是什么呢
  15. Web前端从开始到入门(2)
  16. 媒体应用视频超分AI神器!360P视频一键转换HD
  17. 马毅老师讲座收获总结
  18. win10 GTX1050配置VS19+CUDA10.2+CUDNN
  19. AWS Direct Connect配置
  20. Sprin学习总结(一):初步了解

热门文章

  1. 新书推荐——Linux系统管理与服务器配置
  2. [转]DSP2812 代码段(.text段)太长的解决办法——通过cmd文件拆分.text段
  3. 清华EMBA课程系列思考之十三(2) -- 管理心理学
  4. 微型计算机原理与接口技术 试卷,微机原理与接口技术试卷和答案4套.doc
  5. 智和网管平台SugarNMS网络安全解决方案
  6. kubesphere+kubernetes搭建生产环境高可用集群(四-2)
  7. 梦幻西游新资源的提取一
  8. CouchBase简单介绍
  9. Android系统工程模式启动过程详解
  10. jupyter添加新的语言包