当前位置: 首页 > article >正文

php fakepath,chrome上传图片 路径为c:/fakepath的解决办法

因为浏览器提升了安全级别,默认是不会获取文件的真实路径的,都是用fakepath代替了。

1.可以通过修改浏览器的安全级别,步骤是:工具 -> Internet选项 -> 安全 -> 自定义级别 -> 找到“其他”中的“将本地文件上载至服务器时包含本地目录路径”,选中“启用”即可。

2.以上方法对程序员来说肯定不可取,总不能让每一个用户都修改浏览器配置,网上有一种用js代码修改的方法,但只兼容IE、firefox系列。

function getPath(){

var Pathobj = document.getElementById("......");

if(Pathobj){

if (window.navigator.userAgent.indexOf("MSIE")>=1) {

Pathobj.select();

return document.selection.createRange().text;

}else if(window.navigator.userAgent.indexOf("Firefox")>=1){

if(Pathobj.files){

return Pathobj.files.item(0).getAsDataURL();

}

return Pathobj.value;

}

return Pathobj.value;

}

}

我的思路是:

在页面增加一个隐藏标签,然后js把url传递给隐藏标签,最后Ajax更改data.field.file的值,再post过去。

//用于接收正确url的值

data.field.file = document.getElementById("img_url").value;

完整代码:

// 上传图片处理

var uploadInst = upload.render({

elem: '#upload_img' //绑定元素

,url: ".." //上传接口

,size:50

,accept: 'images' //指定允许上传时校验的文件类型

,acceptMime: 'image/*'//筛选出的文件类型

,before: function(obj){ //选择文件后回调

obj.preview(function(index, file, result){

$('#pre_img').attr('src', result); //图片链接(base64),插入用于预览

});

}

,done: function(res){

//上传完毕回调

if(res.code >0){

return layer.msg('图片上传失败')

}

document.getElementById("img_url").value = res.msg;

}

,error: function(){

//请求异常回调

layer.closeAll('loading'); //关闭loading

}

});

//监听提交

form.on('submit(add)', function(data){

data.field.file = document.getElementById("img_url").value;

//发异步,把数据提交给php

$.ajax({

url:'./goods_add_function.php',

data:data.field,

dataType:'text',

type:'post',

success:function (data) {

layer.alert("增加成功", {icon: 6},function () {

// 获得frame索引

var index = parent.layer.getFrameIndex(window.name);

//关闭当前frame

parent.layer.close(index);

});

}

})

return false;

});

http://www.lryc.cn/news/2417233.html

相关文章:

  • 常见编码方式之间的区别
  • 经典算法研究系列:八、再谈启发式搜索算法
  • IEEE会议排名(转载)
  • Libsvm使用笔记【matlab】
  • Wireshark 提示和技巧 | TCP Reassembly
  • 体验ChitGPT AI大模型生成生成拉格朗日运动轨迹和具体实践案例
  • 堆栈溢出及其原因
  • python编写小游戏的代码,python游戏编程代码大全
  • 异步任务(AsyncTask)
  • 电脑死机是什么原因及解决方法
  • 我是巢皮...
  • Paypal开发者中心获取“ClientId”和“ClientSecret”参数
  • objectARX自用总结
  • HTK学习笔记(一)
  • CLSID应用
  • MPC模型预测控制及在Matlab中实现函数定义
  • U盘全新安装windows2003系统
  • 10款用于查询IP地址的工具网站
  • DirectSound 与Waveout的区别
  • 实验误差分析大全,实验员必备!
  • Wireshark过滤总结
  • 【读码JDK】-java.lang包介绍
  • java启动参数xmm_更快的方法来测试xmm / ymm寄存器是否为零?
  • 敏捷软件开发
  • .mp4视频测试地址
  • Java IO流操作汇总: inputStream 和 outputStream
  • DRM-widevine 总结
  • 电脑提示msvcp110.dll丢失修复方法,总结四个有效的方法
  • Linux入门基础完整版【详解】
  • 微机原理与接口技术实验二:8255A控制4按键二进制输入数码管显示