前端模拟 图片上传---->>通过选取的图片获取其路径<<------

<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style>
        div {

            position: relative;
            overflow: hidden;
            background: #EEE;
            width: 100%;
            height: 667px;
        }

        #bg, #mask-bg {
            position: absolute;
            width: 100%;
            height: 667px;
            background-size: cover;
        }
        #mask-bg{
            top:9px;
            mask-image: url(mask.png);
            -webkit-mask-image: url(mask.png);
        }
        input {
            height: 60px;
            margin-top: 20px;
        }
    </style>
</head>
<body>
<div>
    <p id="bg"></p>
    <p id="mask-bg"></p>
</div>
<input type="file">

<script>
    var input = document.querySelector(‘input‘),
        bg = document.querySelector(‘#bg‘),
        maskBg = document.querySelector(‘#mask-bg‘);

    input.onchange = function () {
        var src = getObjectURL(this.files[0]);
        setBg(src);

    };

    function setBg(src){
        bg.style.backgroundImage = ‘url(‘ + src + ‘)‘;
        maskBg.style.backgroundImage = ‘url(‘ + src + ‘)‘;
    }

    /**
     * 通过选择的文件获取其图片路径(blob)
     * @param file
     * @returns {*}
     */
    function getObjectURL(file) {
        var url = null;
        console.log(window.createObjectURL)
        console.log(window.URL)
        if (window.createObjectURL != undefined) {
            url = window.createObjectURL(file)
        } else if (window.URL != undefined) {
            url = window.URL.createObjectURL(file)
        } else if (window.webkitURL != undefined) {
            url = window.webkitURL.createObjectURL(file)
        }
        return url
    }

</script>
</body>
时间: 2024-08-07 00:08:30

前端模拟 图片上传---->>通过选取的图片获取其路径<<------的相关文章

从web编辑器 UEditor 中单独提取图片上传,包含多图片单图片上传以及在线涂鸦功能

UEditor是由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于MIT协议,允许自由使用和修改代码.(抄的...) UEditor是非常好用的富文本web编辑器,而且全中文API和注释,方便学习和使用.特别是图片上传查看及涂鸦功能极为喜欢,但是有很多情况我们并不需要Web编辑器,而只需要图片上传.那么问题来了,提取图片上传哪家强..... 网上有很多图片上传的控件.插件.但都不是那么的完美,有的只有一张图片上传不包含批量上传,有的没有图片查看

图片上传-下载-删除等图片管理的若干经验总结2

今天再次思考了下图片上传,觉得昨天的有个细节存在问题. 昨天在码代码的时候,没有去考虑删除临时文件的问题.今天,想增加删除临时文件,发现昨天的代码就有问题了. 上次提到: class PhotoBean { //将要删除的,通常是数据库中的 public List<Photo> toDelete; //将要更新的,都在数据库中,部分最新内容来源于web前端 public List<Photo> toUpdate; //将要增加的,由于上传图片的时候都已经插入了,这个时候可以忽略了

图片上传-下载-删除等图片管理的若干经验总结3-单一业务场景的完整解决方案

这次完整地介绍图片上传的完整解决方案,如有bug,后续再补充. 一.图片表 CREATE TABLE `photo` ( `id` bigint(10) unsigned NOT NULL AUTO_INCREMENT, `bizid` bigint(11) NOT NULL DEFAULT '-1' COMMENT '业务id,比如项目的id', `cover` int(11) DEFAULT '0' COMMENT '1:是,0:不是', `sort` int(11) DEFAULT '0'

megapix-image插件 使用Canvas压缩图片上传 解决手机端图片上传功能的问题

最近在弄微信端的公众号.订阅号的相关功能,发现原本网页上用的uploadify图片上传功能到手机端有的手机类型上就不能用了,比如iphone,至于为啥我想应该不用多说了吧(uploadify使用flash实现上传的): 经过研究找到了一个手机端比较相对比较好用的插件实现图片上传,那就是megapix-image插件,比uploadify还是好用多了,下面就来上实例吧: html页面: <html> <body> <input type="file" cap

图片上传-下载-删除等图片管理的若干经验总结

图片上传功能很常见,很多人都觉得这个功能很简单,随着要求的提高,这个图片小系统也真是复杂啊. 需求1: 上传,未了达到"大容量存储"."负载均衡"."性能好","有技术含量"等装逼需求,采用了Fastdfs. 注:FastDFS是一个开源的轻量级分布式文件系统,它对文件进行管理. 功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,解决了大容量存储和负载均衡的问题. 特别适合以文件为载体的在线服务,如相册网站.视频

iOS:图片上传时两种图片压缩方式的比较

上传图片不全面的想法:把图片保存到本地,然后把图片的路径上传到服务器,最后又由服务器把路径返回,这种方式不具有扩展性,如果用户换了手机,那么新手机的沙盒中就没有服务器返回的图片路径了,此时就无法获取之前已经上传了的头像了,在项目中明显的不可行. 上传图片的正确方式:上传头像到服务器一般是将图片NSData上传到服务器,服务器返回一个图片NSString地址,之后再将NSString的路径转为url并通过url请求去更新用户头像(用户头像此时更新的便是NSString) 代码为: AFHTTPRe

单页面实现的图片上传列表改名删除图片同名称顺序排序不同名称不同排序

<?php session_start(); $url='http://'.$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF']; $save_dir="images"; $file_current_dir=dirname(__FILE__).'/'.$save_dir; $filepath='http://'.$_SERVER['HTTP_HOST'].'/'.$save_dir; /** * [file_upload 文件上传函数,支持单文件,

JS判断图片上传时文件大小和图片尺寸

如何读取图片的size: 首先,原生input file控件有个files属性,该属性是一个数组.数组中的元素有以下属性:lastModifiedDate,name,size,type,webkitRelativePath,如图: 这样的话,我们就可以检测到size.(这里的size是字节大小) 1 var fileData = file.files[0]; 2 var size = fileData.size; //注意,这里读到的是字节数 3 var isAllow = false; 4 v

dnmp(docker的lnmp)安装WordPress之后图片上传问题 问题:图片上传大小问题解决和 报错413 Request Entity Too Large

首先是提示超过图片尺寸和大小, 最后发现都是图片大小的问题, 需要修改php的最大上传size 修改之后查看php配置  已经生效  但是还是报错, 提示返回不是合法的json,  查看控制台, 报错是问题:413 Request Entity Too Large  发现是Nginx的配置, 有盖配置. dnmp环境  php配置  直接重新 docker-compose up --build  就可以生效 nginx 需要 停止 删除 重新build才可以, 注意, 停止删除容器, build