当前位置:Gxlcms > html代码 > Html5上传图片移动端、PC端的通用代码分享

Html5上传图片移动端、PC端的通用代码分享

时间:2021-07-01 10:21:17 帮助过:24人阅读

这篇文章主要介绍了Html5上传图片 移动端、PC端通用代码的相关资料,非常不错具有参考借鉴价值,需要的朋友可以参考下

废话不多说了,说一下今天给大家分享的是 html5上传图片。我们是在移动端使用的,但是这个在pc上也通用兼容性我只在谷歌测试过。之前一直用的angular写的《用HTML5的File API做上传图片预览能》。今天摒弃angular的东西分享一个html5 + js 图片上传案例。那么今天还是按照一定的步骤来讲吧。

HTML 第一步创建html,我们在页面中放置一个文件选择的input#upload(PS:偷懒一下,这里就不再次写案例了直接复制的我们的页面)

    1. <p class="con4">
    2. <span class="btn upload">上传<input type="file" class="upload_pic" id="upload" /></span>
    3. </p>

CSS注:css 写的有些乱哈,看不懂的可以问我,或者直接自己写一下就ok。

  1. CSS Code复制内容到剪贴板
  2. con{
  3. width: %;
  4. height: auto;
  5. overflow: hidden;
  6. margin: % auto auto;
  7. color: #FFFFFF;
  8. }
  9. con .btn{
  10. width: %;
  11. height: px;
  12. line-height: px;
  13. text-align: center;
  14. background: #dbc;
  15. display: block;
  16. font-size: px;
  17. border-radius: px;
  18. }
  19. upload{
  20. float: left;
  21. position: relative;
  22. }
  23. upload_pic{
  24. display: block;
  25. width: %;
  26. height: px;
  27. position: absolute;
  28. left: ;
  29. top: ;
  30. opacity: ;
  31. border-radius: px;
  32. }

Javascript

通过getElementById获取节点,判断浏览器的兼容性,对于不支持FileReader接口的浏览器将给出一个提示并禁用input,否则监听input的change事件。

  1. JavaScript Code复制内容到剪贴板
  2. //获取上传按钮
  3. var input = document.getElementById("upload");
  4. if(typeof FileReader==='undefined'){
  5. //result.innerHTML = "抱歉,你的浏览器不支持 FileReader";
  6. input.setAttribute('disabled','disabled');
  7. }else{
  8. input.addEventListener('change',readFile,false);
  9. }

然后,当file_input的change事件触发时,调用函数readFile()。在readFile中,我们首先获取file对象,然后通过file的type属性来检测文件类型,我们当然只允许选择图像类型的文件,然后我们new一个FileReader实例,并调用readAsDataURL方法来读取选中的图像文件,最后在onload事件中,获取到成功读取的文件内容,并以插入一个img节点的方式显示选中的图片。

  1. JavaScript Code复制内容到剪贴板
  2. function readFile(){
  3. var file = this.files[];
  4. if(!/image\/\w+/.test(file.type)){
  5. alert("文件必须为图片!");
  6. return false;
  7. }
  8. var reader = new FileReader();
  9. reader.readAsDataURL(file);
  10. //当文件读取成功便可以调取上传的接口,想传哪里传哪里(PS: 你们可以把你们的靓照偷偷发给我!)
  11. reader.onload = function(e){
  12. var data = this.result.split(',');
  13. var tp = (file.type == 'image/png')? 'png': 'jpg';
  14. var a = data[];
  15. //需要上传到服务器的在这里可以进行ajax请求
  16. ... ...
  17. }
  18. };

写到这里我们已经完成了图片上传的功能了,大家有兴趣的自己动手尝试一下,不懂的地方或者我写错的地方一定要找我哦。 FileReader的方法和事件

以上就是Html5上传图片 移动端、PC端的通用代码分享的详细内容,更多请关注Gxl网其它相关文章!

人气教程排行