最近转战MVC项目,然后又再次遇到照片上传的实现,之前都是使用ASP.NET,虽然也有照片上传,而且出于客户体验考虑,

也实现了选择本地照片之后即时显示在IMG中,在这里就简单介绍其实现(ASP.NET),代码就不再写了

  • ASP.NET实现方式(当时使用的是服务器控件UpLoad):

    • 一个Img控件,一个UpLoad控件

      • 先创建另一个新的ASP.NET页面,上传照片的时候,先把照片上传显示在这个ASP.NET页面上,然后IMG中的src链接到这个页面就O了(方法很笨,但是刚出来就是这么实现的,现在可以用插件实现了)
  • MVC实现方式(使用的是Input中的File)
    • 一个Img标签,一个file标签

      • 实现方式
      •     //读取图片并显示到img
            function readFile() {var file = this.files[0];if (!/image\/\w+/.test(file.type)) {alert("文件必须为图片!");return false;}var reader = new FileReader();reader.readAsDataURL(file);reader.onload = function (e) {$("#ComPic").attr("src", this.result);}}$(function () {var input = document.getElementById("fileToUpload");//先判断浏览器是否支持FileReader//浏览器不支持时则选择照片的的标签被禁用if (typeof FileReader === 'undefined') {alert("抱歉,你的浏览器不支持 FileReader");input.setAttribute('disabled', 'disabled');} else {input.addEventListener('change', readFile, false);}});

      • 到这里,选择图片之后就可以显示了,但是该注意的是,IE6以下(包含IE6)版本是不支持FileReader的
      • 之后就是图片的上传了(在这里,我使用的是异步上传操作,而且数据库中保存的是图片路径,而图片上传到指定的文件夹下)
        var fileObj = document.getElementById("fileToUpload").files;
        var FileController = "/Member/Shop/UpLoadIMG" + "?PicName=" + picName + "&PicType=" + picType;
        var form = new FormData();for (var i = 0; i < fileObj.length; i++)form.append("file" + i, fileObj[i]);var xhr = new XMLHttpRequest();xhr.open("post", FileController, true);xhr.onload = function () {if (xhr.status == 200 && xhr.responseText == "1") {alert("图片上传成功!");} else {                      //图片上传异常时返回的信息alert(xhr.responseText);}};xhr.send(form);

  • 还有另外一种实现方式,就是使用UpLoadify,可以实现批量上传图片或者文件,包括进度条,这个插件官方文档已有详细介绍,在这就不再多说了。。

转载于:https://www.cnblogs.com/QimmyPeng/p/4147739.html

选择本地照片之后即显示在Img中(客户体验)相关推荐

  1. Android实现仿微信朋友圈发布动态(拍照、图库选择、照片压缩、显示、保存、缩略图、点击缩略图删除对应文件等)

    原址: http://blog.csdn.net/zhang3776813/article/details/52092591 /*** 仿微信朋友圈发布动态* 拍照或图库选择 * 压缩图片并保存**/ ...

  2. Android实现仿微信朋友圈发布动态(拍照、图库选择、照片压缩、显示、保存、缩略图、点击缩略图删除对应文件等)附源码

             原创作品,转载请注明出处:http://blog.csdn.net/zhang3776813/article/details/52092591 最近项目需求中要用到类似微信朋友圈发布 ...

  3. CKH IOD选择通过CSG增强其数字批发和物联网客户体验

    伦敦--(美国商业资讯)--CSG® (NASDAQ: CSGS)今天宣布与长江和记实业公司(CK Hutchison)的电信业务子公司CKH Innovations Opportunities De ...

  4. android 图片读写,Android读取本地照片和视频相册

    前言 项目中经常要选择本地照片或者视频的需求,如果去扫描整个SD卡就太耗时间,其实Android系统在启动时就已经把整个设备中的多媒体文件信息(文件名,类型,大小等)都存到了数据库,然后提供了Cont ...

  5. 安卓图片操作(调用系统相机,预览本地照片,调用系统裁剪图片,压缩图片,中心裁剪方形图片,bitmap转byte[])

    先创建照片存储uri public static Uri createImagePathUri(Context context) {Uri imageFilePath = null;String st ...

  6. 如何去除已卸载程序在 “选择在任务栏上显示哪些图标“ 选项下的显示

    本篇解决的问题内容为: 如何去除已卸载程序在 "选择在任务栏上显示哪些图标" 选项下的显示 (前情提要: 前些日子下了个罗技外设专用的GHUB,发现想下的东西不是这个就用Geek ...

  7. Android手机图片上传 选择不了本地照片 解决方案

    问题描述:在实现Android端向服务器上传图片过程中,本人采用的是Android4.4版本,最初选择图片的代码是这样写的: //        Intent intent = new Intent( ...

  8. js 选择本地图片并显示

    选择本地图片并将所选图片显示 <html> <body> <img id="image" src=""/> <br/& ...

  9. 浏览器显示本地照片 image

    浏览器显示本地照片 image <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  < ...

  10. unity 启动相机_Unity3D研究院之打开照相机与本地相册进行裁剪显示(三十三)...

    最近做项目需要用到这个功能,就是在Unity中调用Android本地相册或直接打开摄像机拍照并且裁剪一部分用于用户头像,今天研究了一下,那么研究出成果了MOMO一定要分享给大家.Unity与Andro ...

最新文章

  1. Linux下KickStart+PXE无人值守装机服务器的配置
  2. 2.1 name_scope 简单入门(一)
  3. Python实现递归算法
  4. js操作json方法总结
  5. 大量违规投放,青桔单车被紧急约谈
  6. C#通信之Socket通信的简单例子
  7. Zabbix 监控LVS连接的状态
  8. 误码率matlab怎么计算,Matlab 仿真(7,4)汉明码 传输误码率
  9. 2017年10月份计算机网络管理,2017年下半年网络管理员考试上午试题及答案
  10. Linux下线程同步对象(3)——条件变量
  11. linux桌面环境组件下载,万能桌面小组件
  12. .NET Framework高低版本兼容问题解决办法
  13. 关于SIM900A模块的学习心得
  14. 去除电脑端QQ退格到头的音效
  15. 测试技术 --黑盒测试与白盒测试
  16. 有没有永久免费的云服务器?看完这篇文章你就明白了!
  17. unity 双屏,多屏幕显示
  18. 整理了100个Python精选库,建议收藏!
  19. 联想服务器如何重装win 2012系统,联想电脑如何重装win10操作系统
  20. 英飞凌AURIX HSM介绍

热门文章

  1. 国家应统一手机快充标准
  2. 从雷声谈云层中的电能
  3. 用科学数据求真:月球的激光发射器有用吗?
  4. 互斥量+条件变量实现 信号量
  5. java 数据库实现源锁_采用java和数据库两种方式进行加锁
  6. 得到照片_用PS制作重曝效果的人像艺术照片
  7. es单条插入失败_Elasticsearch之es学习工作中遇到的坑(陆续更新)
  8. centos中多台主机免密登录_mac ssh 免用户名密码远程登录 linux 方法
  9. [swift 进阶]读书笔记-第一章:介绍、第二章(C2P2):第二章:内建集合类型
  10. 颜色模式中8位,16位,24位,32位色彩是什么意思?会有什么区别?计算机颜色格式( 8位 16位 24位 32位色)【转】...