开发工具与关键技术:Vs2015 C#
作者:蔡杰明
撰写时间:2019 年 8 月 5 日 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-
设置个div,放img 标签 给个双击事件,设置宽高样式
-
input标签的type=“file”(选择文件) 和 accept属性配合使用
-
文件读取器 FileReader
var imgReader = new FileReader(); -
图片文件的正则表达式过滤
-
在标签中给 文件选择控件绑定 onchange() 文件选择改变事件 function (){}
-
获取选择到的文件事件: 文件框.get(0).files[0] (files类型特殊)
-
验证图片后缀必须是正则表达式的后缀,再将读取到的图片转为URL类型:文件读取器.readAsDataURL()
if(图片正则表达式的名称.test(图片的URL名称.type))
{
文件读取器.readAsDataURL(图片的URL名称);
}else{
alert(“选择的不是一个有效的图片文件”);
} -
文件读取器,onload事件(文件绑定成功事件)
文件读取器.οnlοad=function(images){
用户头像 添加属性
$(“#ID”).attr(“src”, images.target.result);
}
上传图片情况:①之前没有图片,上传新图片
②之前有图片,上传新的图片,删除之前的就图片
图片上传注意:
① 在页面上 不能用get、post方法请求,这两种请求会解析/编译上传的图片,只能用ajax或者XMLHttpRequest(原始请求方式)请求上传图片
② 控制上要用HttpPostedFileBase 这个类接收图片上传或者文件
③ 图片内存较大,尽量不把图片直接保存在数据,而是将图片保存在项目新建的文件夹中,再通过文件路径保存到数据库
(1)在控制器中,先判断是否上传新图片(用ContentLength来判断文件长度,大于0为上传图片 )
(2) 获取文件后缀名,拼接图片后缀名,最后获取文件的物理路径
(3)保存文件路径,再将文件名称设置到用户中
(4) 判断之前是否存在图片,存在就删除
(5)修改用户头像成功,修改核心代码