自己动手打造ajax图片上传的方法教程
发表于:2025-02-22 作者:千家信息网编辑
千家信息网最后更新 2025年02月22日,这篇文章主要介绍"自己动手打造ajax图片上传的方法教程",在日常操作中,相信很多人在自己动手打造ajax图片上传的方法教程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答
千家信息网最后更新 2025年02月22日自己动手打造ajax图片上传的方法教程
这篇文章主要介绍"自己动手打造ajax图片上传的方法教程",在日常操作中,相信很多人在自己动手打造ajax图片上传的方法教程问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"自己动手打造ajax图片上传的方法教程"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
方法1,仅使用jquery代码,不用第三方插件。代码如下
这种方法的缺点:由于IE6\8\9\不支持formdata,所以这种方法不支持IE9及以下版本
方法二:使用ajaxfileupload.js插件
ajaxfileupload.js
html代码:
说明:这种方法目前测试支持IE8/9,谷歌,兼容比方法1好。建议采用方法2
文件上传后台处理代码(asp.net版)
<%@ webhandler Language="C#" class="Upload" %> using System; using System.Collections; using System.Web; using System.IO; using System.Globalization; using LitJson; public class Upload : IHttpHandler { private HttpContext context; public void ProcessRequest(HttpContext context) { String aspxUrl = context.Request.Path.Substring(0, context.Request.Path.LastIndexOf("/") + 1); //文件保存目录路径 String savePath = "attached/"; //文件保存目录URL String saveUrl = aspxUrl + "attached/"; //定义允许上传的文件扩展名 Hashtable extTable = new Hashtable(); extTable.Add("image", "gif,jpg,jpeg,png,bmp"); extTable.Add("flash", "swf,flv"); extTable.Add("media", "swf,flv,mp3,wav,wma,wmv,mid,avi,mpg,asf,rm,rmvb"); extTable.Add("file", "doc,docx,xls,xlsx,ppt,htm,html,txt,zip,rar,gz,bz2"); //最大文件大小 int maxSize = 1000000; this.context = context; HttpPostedFile imgFile = context.Request.Files["imgFile"]; if (imgFile == null) { showError("请选择文件。"); } String dirPath = context.Server.MapPath(savePath); if (!Directory.Exists(dirPath)) { showError("上传目录不存在。"); } String dirName = context.Request.QueryString["dir"]; if (String.IsNullOrEmpty(dirName)) { dirName = "image"; } if (!extTable.ContainsKey(dirName)) { showError("目录名不正确。"); } String fileName = imgFile.FileName; String fileExt = Path.GetExtension(fileName).ToLower(); if (imgFile.InputStream == null || imgFile.InputStream.Length > maxSize) { showError("上传文件大小超过限制。"); } if (String.IsNullOrEmpty(fileExt) || Array.IndexOf(((String)extTable[dirName]).Split(','), fileExt.Substring(1).ToLower()) == -1) { showError("上传文件扩展名是不允许的扩展名。\n只允许" + ((String)extTable[dirName]) + "格式。"); } //创建文件夹 dirPath += dirName + "/"; saveUrl += dirName + "/"; if (!Directory.Exists(dirPath)) { Directory.CreateDirectory(dirPath); } String ymd = DateTime.Now.ToString("yyyyMMdd", DateTimeFormatInfo.InvariantInfo); dirPath += ymd + "/"; saveUrl += ymd + "/"; if (!Directory.Exists(dirPath)) { Directory.CreateDirectory(dirPath); } String newFileName = DateTime.Now.ToString("yyyyMMddHHmmss_ffff", DateTimeFormatInfo.InvariantInfo) + fileExt; String filePath = dirPath + newFileName; imgFile.SaveAs(filePath); String fileUrl = saveUrl + newFileName; Hashtable hash = new Hashtable(); hash["error"] = 0; hash["url"] = fileUrl; context.Response.AddHeader("Content-Type", "text/html; charset=UTF-8"); context.Response.Write(JsonMapper.ToJson(hash)); context.Response.End(); } private void showError(string message) { Hashtable hash = new Hashtable(); hash["error"] = 1; hash["message"] = message; context.Response.AddHeader("Content-Type", "text/html; charset=UTF-8"); context.Response.Write(JsonMapper.ToJson(hash)); context.Response.End(); } public bool IsReusable { get { return true; } } }
到此,关于"自己动手打造ajax图片上传的方法教程"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
方法
文件
图片
教程
代码
目录
学习
扩展名
服务器
处理
支持
服务
函数
大小
插件
更多
帮助
实用
最大
安全
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
开源数据库怎么跨行业
杭州教育网络安全上网知识竟赛
滨州染整软件开发公司
河南浪潮服务器虚拟化系统
软件开发项目会议摘要怎么写
杭州银行软件开发岗笔试
北京速扑设计互联网科技有限公司
红心网络安全插画
金蝶软件开发怎么学
如何进行网络安全培训
从化专业网络安全运维
应用程序部署在服务器
泗阳巨型网络技术供应商家
6g网络安全
网络安全龙头的股票有哪些
学软件开发能做什么工作
网络平台服务器建设
svn服务器更换ip
软件开发学哪个比较好
讯雷精品数据库
我的世界服务器怎么加mod
linux服务器软件安装
网络安全的研究论文
搞软件开发的怎么发论文
中兴通讯做服务器
网络安全薪酬排名
数据库备份计划流程图
数据库查询结果再排序报错
网络安全法 教育 活动
it战略本部网络安全战略本部