精华内容
下载资源
问答
  • 解决fakepath的js

    2013-07-23 15:06:13
    自己项目中遇到上传时fakepath的问题,通过这个js解决
  • 下面代码解决这个问题,支持Chrome,其它浏览器没测试,用时候注意 代码 上传file属性 $(function(){ $('.upload').change(function(){ var oFReader = new FileReader()

    上传文件时,有时候需要获取文件路径,但是浏览器安全机制,使得路径被fakepath代替,获取不到

    下面的代码解决这个问题,支持Chrome,其它浏览器没测试,用的时候注意

    代码

    <!DOCTYPE html>
    <html>
    <head>
    	<meta charset="UTF-8">
    	<title>上传file属性</title>
    	<script src="jquery.min.js"></script>
    </head>
    <body>
    	<input id="input-file" class="upload" type="file" value="">
    	<img src="" alt="">
    </body>
    <script>
    	$(function(){
    		$('.upload').change(function(){
    			var oFReader = new FileReader();
    			var file = document.getElementById('input-file').files[0];
    			oFReader.readAsDataURL(file);
    			oFReader.onloadend = function(oFRevent){
    				var src = oFRevent.target.result;
    				$('img').attr('src',src);
    		    }
    		})
    	})
    </script>
    </html>


    展开全文
  • base64 编码转化图片并进行指定路径保存和上传处理 https://blog.csdn.net/u011415782/article/details/79978608 https://blog.csdn.net/qq_38381336/article/details/77943377 ...

    base64 编码转化图片并进行指定路径的保存和上传处理

    https://blog.csdn.net/u011415782/article/details/79978608
    https://blog.csdn.net/qq_38381336/article/details/77943377
    https://blog.csdn.net/yayayangge/article/details/83654464

    解决 fakepath

    https://blog.csdn.net/weixin_39762926/article/details/79610154

    页面 html 中

     <form class="form-horizontal m-t" method="post" enctype="multipart/form-data" action="#">
            <div class="row">
                 <div class="col-md-6">
                     <div class="image-crop" style="margin-bottom:-20px;">
                         <img class="img-circle" style="width:64px;height:64px;" src="{$avatar}">
                     </div>
                 </div>
                 <div class="col-md-6" style="margin-top:70px;margin-left:10px;">
                     <h4>图片预览:</h4>
                     <div class="btn-group">
                         <label title="上传图片" for="inputImage" class="btn btn-primary">
                    
     			<!-- 方法1 -->
     			<img name="image" id="myimage" src="" style="width:80px;height:100px;margin-left:-175px;margin-bottom:20px;"/>
     			<input id="files" name="avatar" type="file" value="选择" onchange="changeImge(this)">
     			<input id="successimg" type="hidden" value="" >
     			
                         </label>
                     </div>
                 </div>
             </div>
             <p></p>
             <label><button class="btn btn-primary-red" id="edit" type="submit">提交</button></label>
         </form>
    

    js

    <script>
    
    function changeImge(obj) {
    
        var f = obj.files[0];
        var filePath = obj;
        var type = f.type;     //image/jpeg
        var size = f.size;
        var tp = type.split("/")[0];
       
        if (tp != "image" || size > 10*1024*1024){
            alert("请选择图片-10MB内!")
            return false;
        }
        var element = document.getElementById('myimage');
    
        if (filePath != null && filePath != "") {
            //获取文件路径
            element.src = window.URL.createObjectURL(obj.files[0]);    // 这个函数用来预览本地图片或者视频
    
                // 用下面的两个方法,可以把blob图片格式转成base64图片格式,https://www.zhaokeli.com/article/8055.html
                
                var blobToBase64=function(blob, callback) {
                    var a = new FileReader();
                    a.onload = function(e) {
                        callback(e.target.result);
                    }
                    a.readAsDataURL(blob);
                };
    
                //使用方法,传入一个blob数据,在回调中接收处理成功的图片url
                blobToBase64(obj.files[0], function(data) {
                    // $('#successimg img').attr('src', data);   // 赋值
                    $('#successimg').val(data);   // 赋值
                });
        }
    }
    
    // 获取 图片地址
    
    $('#edit').on('click', function(){
        var img = $("#successimg").val();   // base64 格式
        $.ajax({
            type: 'POST',
            url:  "/admin/user/save_avatar",
            data: {
              url: img
            },
            dataType: 'json',
            success: function(data){
                if (data.status == 1) {
                    alert("编辑成功");
                } else {
                    // alert(222);
                    alert("编辑失败");
                }
            }
        });
    })
    
    // blob 转化成 base64
    // function blobToDataURL(blob) {
    //         var a = new FileReader();
    //         a.readAsDataURL(blob);//读取文件保存在result中
    //         a.onload = function (e) {
    //         var getRes = e.target.result;//读取的结果在result中
    //         }
    //  }
    
    
    </script>
    

    控制器中

    // 获取新上传的头像
    
    public function save_avatar(){
    
    	// $file = request()->file("avatar");    
    	$data = $_POST;
    	$base64_image_content = $data['url'];
    	$path = $_SERVER['DOCUMENT_ROOT'].'/static/imgs';    // 上传到的文件夹
    	
    	//匹配出图片的格式,将Base64图片转换为本地图片并保存
    	
        if (preg_match('/^(data:\s*image\/(\w+);base64,)/', $base64_image_content, $result)){
            $type = $result[2];
            $new_file = $path."/".date('Ymd',time())."/";
            if(!file_exists($new_file)){
                //检查是否有该文件夹,如果没有就创建,并给予最高权限
                mkdir($new_file, 0700);
            }
    
            $new_file = $new_file.time().".{$type}";
            if (file_put_contents($new_file, base64_decode(str_replace($result[1], '', $base64_image_content)))){
            	// "\/E:\/phpstudy2018\/PHPTutorial\/WWW\/h_layui\/public\/static\/imgs\/20191018\/1571384359.jpeg"
            	
                // return '/'.$new_file;
    
                // 修改数据库  sp_admin
                
                $udata = session::get('USER_INFO');
    			$uid = $udata['uid'];
    
    			$where['id'] = $uid;
    			$new = explode('public',$new_file);
    			
    			$bb['touxiang'] = $new[1];
    
    			$res =  DB::name('admin')->where($where)->update($bb);
    			if($res){
    				$rs=json(1); 
    			}else{
    				$rs=json(0); 
    			}
    			return $rs;
            }else{
                return false;
            }
        }else{
            return false;
        }
    	die;
    }
    
    展开全文
  • 今天在做上传图片时遇到问题,JS中获取input(type="file")中图片地址时,出现路径有误。调试发现获取路径变为形如:C:\fakePath\*,从而出现错误。 初步解决办法:浏览器安全性设置; 操作:打开IE浏览器--&...

    今天在做上传图片时遇到的问题,JS中获取input(type="file")中的图片地址时,出现路径有误。调试发现获取的路径变为形如:C:\fakePath\*,从而出现错误。

    初步解决办法:浏览器安全性设置;

    操作:打开IE浏览器-->工具(Alt+x)-->Internet选项-->安全-->自定义级别-->“其他”中的“将本地文件上载至服务器时包含本地目录路径”设置为“启用”;

    经测试以上解决办法可以解决上述问题,但要求每个用户在本地做这些操作显然并不合适,还可以通过对JS代码进行处理从而获得完整路径。

     

    转载于:https://www.cnblogs.com/arthurW/p/7421627.html

    展开全文
  • js获取input file虚拟路径C:\fakepath\解决方法函数:文本框 在网上百度了很多方法,基本上在chome浏览器上获取绝对路径方法都行不通,目前也没找到合适通过路径解决问题方法,后期会继续想办法。 这里就...

    js获取input file的虚拟路径C:\fakepath\解决方法

    在网上百度了很多方法,基本上在chome浏览器上获取绝对路径的方法都行不通,目前也没找到合适的通过路径解决问题的方法,后期会继续想办法的。
    这里就写一下通过base64上传图片的方法,聊胜于无。

    函数:

       function ii(obj) {
                //解决C:\fakepath问题-----base64
                var piclen = (obj.files[0].size / 1024).toFixed(0);
                //判断图片大小
                if (piclen > 25) {
                    alert('你选择的文件大小超过25KB,请重新选择!');
                    return;
                }
                var oFReader = new FileReader();
                var file = obj.files[0];
                oFReader.readAsDataURL(file);
                oFReader.onloadend = function (oFRevent) {
                    src = oFRevent.target.result;
                    console.info("--->>" + src)
                };
                //判断图片格式
                var fileName = obj.value;
                var suffixIndex = fileName.lastIndexOf(".");
                var suffix = fileName.substring(suffixIndex + 1).toUpperCase();
                if (suffix != "BMP" && suffix != "JPG" && suffix != "JPEG" && suffix != "PNG" && suffix != "GIF") {
                    alert("请上传图片(格式BMP、JPG、JPEG、PNG、GIF等)!");
                }
            }
    

    文本框

    <label for="picture">图片:</label>
    <input id="picture" name="" type="file" class="dfinput"     placeholder="请选择图片" onchange="ii(this);"/>
    

    @彭彭
    写于2018年9月20日09:49:11

    展开全文
  • 上传附件时文件路径会被浏览器改成图中这样,求解决办法,不要说该改览器设置,不可能让每个客户去改浏览器设置![图片说明](https://img-ask.csdn.net/upload/201708/03/1501739441_752450.png) 最好火狐、IE、...
  • 这是由于浏览器安全机制,input file路径时被fakepath代替,隐藏了真实物理路径。 解决方法: 1、调整浏览器浏览器安全设置(不推荐,也不合理)。 2、使用window.URL.createObjectURL() /** * 文件预览...
  •  百度一下差不多是说浏览器基于保护用户相关安全措施,隐藏了上传真实路径,用fakepath代替,当然,调整浏览器相关安全设置可以解决这个问题。  但我们不可能让所有用户都通过设置浏览器安全设置来进行...
  • 解决方法: Internet选项-》安全-》自定义级别-》将文件下载到服务器时包含本地目录路径 启用就可以了。 转载于:https://www.cnblogs.com/-Apple/p/3261396.html...
  • 解决方法: Internet选项-》安全-》自定义级别-》将文件下载到服务器时包含本地目录路径 启用就可以了。
  • 路径不正确是因为浏览器安全性设置问题。 方法1:工具 -> Internet选项 -> 安全 -> 自定义级别 -> 找到“其他”中“将...方法2:使用JS解决,兼容ie, firefox全系列 function getPath(obj) { if (obj) { if (w
  • 上传图片时,有时候需要获取文件本地路径,但是浏览器安全机制会使得路径被fakepath代替,当然,调整浏览器相关安全设置可以解决这个问题。但我们不可能让所有用户都通过设置浏览器安全设置来进行图片上传。
  • 系统需要做一个计算文件MD5值功能,但是前台js无法获取文件绝对路径,后台java类需要得到路径才能计算,求助有没有大佬帮忙解决
  • 1,js代码解决: //解决浏览器安全配置引起附件路径异常,兼容ie, firefox全系列, 参数obj为input file对象 function getPath(obj) { if (obj) { if (window.navigator.userAgent.indexOf("MSIE") >= 1) { ...
  • 对上传文件有所控制,因为js控制文件大小(JS获取文件大小)有些问题,具体大家试下就知道了,在此整理了一下ajax获取文件大小方法,比较好用,再调试过程中,出现了c:/fakepath/ 错误,也将解决方案罗列在...
  • 无论输入是那个路径下图片,最终js得到值总是c:\fakepath+ 文件名     原因::::    IE8增加了安全选项,默认情况下不显示上传文件真实路径,默认用C:\fakepath\**.gif来取代你上传路径。 ...
  • 明明是在其他盘符下的文件,可是在用js获取文件路径的时候,会得到一个fakepath的目录,查了资料才知道这个是后来浏览器为了安全不给显示文件的全路径了,这TM的就很尴尬了,比如我在后台只想要这个文件的路径的时候...
  • js+ajax获取文件大小

    2012-07-05 13:57:00
    对上传文件有所控制,因为js控制文件大小(JS获取文件大小)有些问题,具体大家试下就知道了,在此整理了一下ajax获取文件大小方法,比较好用,再调试过程中,出现了c:/fakepath/ 错误,也将解决方案罗列在...
  • js、javascript 上传文件

    2011-08-19 16:10:33
    由于IE安全性默认是禁止 包含本地目录路径直接用 fakepath代替 解决方法一: 工具 -> Internet选项 -> 安全 -> 自定义级别 -> 找到“其他”中“将本地文件上载至服务器时包含本地目录路径”,...
  • 目录 1,参考 2,踩过坑: 3,FormData详解 4,实现代码如下: ...参考:(1)文件上传获取路径显示c:\fakepath\......(2)IE浏览器上传文件时本地路径变成”C:\fakepath\”问题 :https://nvry...
  • 注意:方法在ie浏览器可以实现,但是在高级浏览器非IE,就会有fakepath,图片路径加密问题,导致显示不出上传图片。 解决方案:引入 FileReaderFileReader API 地址:...
  • 报错信息 GET file:///C:/fakepath/delete.png net::ERR_FILE_NOT_FOUND 这是浏览器安全机制问题,获取不...这个解决方法是原生js,不用导库,亲测可用 解决办法: function getObjectURL(file) { var url = ...
  • 报错信息GET file:///C:/fakepath/delete.png net::ERR_FILE_NOT_FOUND这是浏览器安全机制问题,获取不到图片真实路径目前网上的解决办法多半只兼容IE和火狐,而且不知是否可行这个解决方法是原生js,不用导库,...
  • 因为IE8增加了安全选项,默认情况下不显示上传文件真实路径,真实路径会被C:/fakepath/取代,从而上传时找不到本地路径。   两种解决办法: 1,进入internet选项,修改下设置即可显示真实...
  • 对上传文件有所控制,因为js控制文件大小(JS获取文件大小)有些问题,具体大家试下就知道了,在此整理了一下ajax获取文件大小方法,比较好用,再调试过程中,出现了c:/fakepath/ 错误,也将解决方案罗列在...
  • 试了,debug显示是fileName = "C:\fakepath\中压测试1.xlsx",这个并不是真实路径)。 2.求正确上传Excel文件方法,能让上面链接里代码可以成功解析那种。 3.Workbook解析Excel大文件正确姿势,能不能做到...

空空如也

空空如也

1 2
收藏数 30
精华内容 12
关键字:

解决fakepath的js