关于利用input的file属性在页面添加图片的问题

在页面添加图片涉及到兼容的问题怎么解决兼容问题呢?请看下面分析:

在IE浏览器上面我们能直接通过获取其input的value值来获取其图片的路径。

在火狐和谷歌需要用createObjectURL((input的元素).files.item(0))来获取其路径;

现在请看代码:

css设置样式部分(可以自己设置好看的样式):

        *{
            margin: 0;
            padding:0;
        }
        #img{
            width:50px;
        }
        .box{
            width: 100px;
            margin:20px auto;
        }
        .box span{
            width:50px;
            height:50px;
            display: block;
            border-radius:50%;
            overflow:hidden;
            margin:auto;
        }
        .box span img{
            width: 100%;
        }
        .Infor_file{
            position: relative;
            margin-top:20px;
        }
        .Infor_file p{
            width:100px;
            height: 40px;
            text-align: center;
            line-height:40px;
            background:#E77B77;
            color:#fff;
            font-size:16px;
            border-radius:5px;
        }
        #file{
            width:100px;
            height:40px;
            position: absolute;
            top: 0;
            left: 0;
            opacity:0;
            filter:alpha(opacity=0);
        }

html部分:

<div class="box">
    <span><img id="img" src=""/></span>
    <div class="Infor_file">
        <p>添加图片</p>      <input type="file" id="file" onchange="get(this)"/>
    </div>
</div>            

js部分:

     var img=document.getElementById("img")
        function get(node){
            var userAgent=navigator.userAgent;
            //适用谷歌和火狐的浏览器传入路径
            if(userAgent.indexOf("Chrome")!=-1||userAgent.indexOf("Firefox")!=-1){
                img.src=window.URL.createObjectURL(node.files.item(0));
            }
            //适用IE浏览器传入路径
            if(userAgent.indexOf("MSIE")!=-1){
                img.src=node.value;
            }
        }

以上代码仅供参考!

时间: 2024-10-03 13:19:59

关于利用input的file属性在页面添加图片的问题的相关文章

html5的FormData对象和input的file属性以及window.URL.createObjectURL( ) 方法(转载)

/** FormData ==>表单数据 能自动把表单数据拼接打包 当ajax发送数据时,发送打包的数据; 还可以使用FormData对象的append(key,value)添加数据 FormData还可以自动帮忙打包文传送件数据,后台通过$_FILES数组接收 说明FormData对象既可以打包发送表单的数据,也可以手动append数据 注意,input Dom对象有一个files属性 十一哥文件数组 **/ <!doctype html> <html> <head&

input type=&#39;file&#39; 上传文件 判断图片的大小是否合格与witdh 和 height 是否合格

function CheckFiles(obj) { var array = new Array('gif', 'jpeg', 'png', 'jpg'); //可以上传的文件类型 if (obj.value == '') { alert("让选择要上传的图片!"); return false; } else { var fileContentType = obj.value.match(/^(.*)(\.)(.{1,8})$/)[3]; //这个文件类型正则很有用:) var isE

关于PHP HTML &lt;input type=&quot;file&quot; name=&quot;img&quot;/&gt;上传图片,图片大小,宽高,后缀名。

在我们的系统中,不免要上传图片,视频等文件,在上传中,需要做的一些判断,文件大小等方面. 注意: 在php.ini 中的post_max_size,upload_max_filesize默认为2M,在上传视频的时候,需要修改下,可以自行设置. 另外如果启用了内存限制,那么该值应当小于memory_limit选项的值. 在上传视频的时候,可以会需要花费些时间,当超过一定的时间,会报脚本执行超过30秒的错误,这是因为在php.ini配置文件中max_execution_time配置选项在作怪,其表示

使用原生input的file属性上传图片和element的多路径上传图片

//使用原生的input属性//作品上传 <input class="uploading__input" name="file" @change="readImg($event,'work')" type="file" id="file" value="" accept="image/*" capture="camera" > //封面

利用iTextSharp组件给PDF文档添加图片水印,文字水印

最近在做关于PDF文档添加水印的功能,折腾了好久,终于好了.以下做个记录: 首先会用到iTextSharp组件,大家可以去官网下载,同时我也会在本文中附加进来. 代码中添加引用为:   using System; using System.Collections.Generic; using System.Linq; using System.Text; using iTextSharp.text.pdf; using System.IO; using iTextSharp.text; 创建一个

input type=file 标签禁止让用户手动输入

常规的Web应用程序中涉及到文件上传的部分都不可避免地会使用到<input type="file"/>控件,在上传文件的时候通过点击“浏览”按钮,在弹出的文件选择对话框中选择本地要上传的文件.当然,如果你已经知道要上传的文件的本地路径,也可以复制路径到控件的输入框中(例如要选择的文件的路径特别长).这就存在一个问题,如果你所复制的文件路径根本不存在,那么上传的时候就无法正确获取到文件,而且在javascript中没有判断该控件所选择的文件是否存在的方法,涉及到浏览器的安全性

处理同一页面中借助form+input[type=&quot;file&quot;]上传图片出现的input无法清空问题

今天下午帮同事改了这样一个bug: 在一个页面中对多张图进行上传时,由于input的value无法情况的问题,导致每次选完图片后,都跟第一张图片一样,无法出现如下效果: 百度了下思路:先将input取到,然后放到一个临时form里面清空,最后删掉form. 代码如下: 首先是生成图片选择和显示部分的绑定代码: var img_tmp = '<tr><td><input type="text" name="code" value=&quo

input的file一些实用属性

file自带一些有用的属性,今天整理一下 html: 1.multiple:是否多选,如果在html上面写上multiple="multiple"或者multiple就可以实现多选 2.accept:文件格式,这个可以控制文件格式,比如jpeg和gif还有Png之类的,写法是这样的<input type="file" accept="image/png,image/gif,image/jpeg" /> js: 1.name:文件名字,

选中多文件同时上传(利用input元素的multiple属性)

网页: <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title>Insert title here</title> </head> <body> <form action="upload.do" method="post" enctype="multipart/form-d