js上传获取路径
1. jsp页面如何用js获取上传文件的真实路径,不通过修改浏览器设置的方式
你应该回去找提供你这段代码的网页,看一下getPath函数的参数obj是什么,输入参数有什么要求。
就这段代码看,obj应该是一个对象,并且这个对象有select()方法;而恰好jQuery对象就有select()方法,有可能(仅仅是有可能)你需要将obj包装成jQuery对象后,再作为getPath函数的参数代入试试。
提示:
dom对象转为jQuery对象:有dom元素el,通过$(el)操作就可以转为jQuery对象
2. 怎么用js获取上传文件的完整路径
file是一种特殊的input,不能被赋值,也不能被javascript取值,只能随表单提交,而且随表单提交的也是file路径所指向的文件本身。
这是浏览器安全原因所限制的,如果可以取值和赋值的话,那么javascript就可以随意获取你电脑上的文件了,这是非常危险的
3. IE8以上,用js获取上传文件大小和绝对路径的实现代码
js实现获取文件大小:
var maxsize = 2*1024*1024;//定义最大为2M。
var errMsg = "上传的附件文件不能超过2M!";
var tipMsg = "您的浏览器暂不支持计算上传文件的大小,确保上传文件不要超过2M,建议使用IE、FireFox、Chrome浏览器。";
var browserCfg = {};
var ua = window.navigator.userAgent;
if (ua.indexOf("MSIE")>=1){
browserCfg.ie = true;
}else if(ua.indexOf("Firefox")>=1){
browserCfg.firefox = true;
}else if(ua.indexOf("Chrome")>=1){
browserCfg.chrome = true;
}
function checkfile(){
try{
var obj_file = document.getElementById("fileuploade");
if(obj_file.value==""){
alert("请先选择上传文件");
return;
}
var filesize = 0;
if(browserCfg.firefox || browserCfg.chrome ){
filesize = obj_file.files[0].size;
}else if(browserCfg.ie){
var obj_img = document.getElementById('tempimg');
obj_img.dynsrc=obj_file.value;
filesize = obj_img.fileSize;
}else{
alert(tipMsg);
return;
}
if(filesize==-1){
alert(tipMsg);
return;
}else if(filesize>maxsize){
alert(errMsg);
return;
}else{
alert("文件大小符合要求");
return;
}
}catch(e){
alert(e);
}
}
js实现获取绝对路径:
function readFile(fileBrowser) {
if (navigator.userAgent.indexOf("MSIE") != -1) {
return getFilePath(fileBrowser);
} else if (navigator.userAgent.indexOf("Firefox") != -1 || navigator.userAgent.indexOf("Mozilla") != -1) {
return getFilePathWithFF(fileBrowser);
} else {
return;
}
}
function getFilePath(fileBrowser) {
alert("ie");
alert(fileBrowser.value);
}
function getFilePathWithFF(fileBrowser) {
try {
netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");
} catch(e) {
alert('由于浏览器安全问题 请按照以下设置 [1] 地址栏输入 "about:config" ; [2] 右键 新建 -> 布尔值 ; [3] 输入 "signed.applets.codebase_principal_support" (忽略引号).');
return;
}
var fileName = fileBrowser.value;
alert("firefox");
alert( fileName);
}
4. javascript 上传文件到阿里云的oss,上传文件成功后怎么获取文件的真实路径
如果你直接使用 javascript 将阿里云的accessId、accessKey写在页面上是不安全的,你可以使用后台存储这些敏感的信息,官网有相关的SDK ,你可以选择你常用的。
在后台编写你的回调函数,将回调函数凭证信息返回给前端,前端使用回调函数凭证访问OSS,就可以获取到回调函数信息。
5. java或js(可用jquery)如何获取上传文件原始路径名
上传文件时,我想获取客户端上传文件的原始路径。第一考虑,当然是使用js,例如网上可以找到的: function getPath(obj) { if (obj) { if (window.navigator.userAgent.indexOf("MSIE") >= 1) { obj.select(); return document.selection.createRange().text; } else if (window.navigator.userAgent.indexOf("Firefox") >= 1) { if (obj.files) { return obj.files.item(0).getAsDataURL(); } return obj.value; } return obj.value; } } 但这样的代码在Ie下还是可行的,但在火狐下不兼容。所以又想通过servlet的第三方工具去做,例如FileUpload,本以为FileItem下的getName()方法能够得到全路径名,但结果仍然只得到文件名,很是杯具!求解决方法!? 引用<input type="file" name="file" />至于你说的,不明白你的意思关键问题是我要获得这个路径,并且传递到后台!用js会有兼容性问题,如果用FileUpload上传,是否可以获得呢?我是没有得到的!!! 问题补充:zhanjia 写道上传文件一般用input标签,type为file,浏览选择文件后就是文件在本地的绝对路径了 引用<input type="file" name="file" />至于你说的,不明白你的意思关键的问题是我要获得这个本地路径,并且传到后台!用js可以得到,但存在兼容性问题!?如果用FileUpload呢?我暂时还没有得到!!! 问题补充:zhanjia 写道网上的一些解决方案: 一般都是上传以后在数据库中保存上传后的文件路径,本地路径一般没意义 除非像上面所说的文件上传预览,还有那么点用处 我用来做数据接口的,我仅仅是把路径传给另一个系统,然后那个系统就可以从这个路径取文件了。如果先上传一次,再给对方,这样不但影响上传速度,而且会产生大量的垃圾文件。
6. js怎么获取上传图片的完整路径
如果你指的是C:\Users\Public\Pictures\Sample Pictures\沙漠.jpg类似这种本地路径,是不可能的。因为文件路径也属于用户的敏感信息,js这种web语言对本机文件的处理非常有限,目的也是为了避免安全以及隐私问题。
<input type="file />控件中,你是不能获取到本机完整路径的。而且正常情况下也没有这么做的必要,如果你非要或者完整路径,你应该想想你们的需求是不是有问题。
7. 如何用js怎么获取到图片的相对路径
javascript中img.src属性可以获取到图片的完整路径, 相对路径要通过与相对位置计算得出。计算方法:
先要明确自己的相对位置在哪,这个是需要人为指定的。
核心代码如下:
var res=document.getElementById("img").src;
var root_href='根目录路径';
res=document.getElementById("img").src.replace(root_href,'');
用jquery方法
var res=$("#img").attr("src");
res=res.substring(res.indexOf("根")+2);
更多关于在上传文件的过程得到完整路径的方法请参考如下:
file.select();
var res=document.selection.createRange().text;
var res=file.files.item(0).getAsDataURL();
var res=file.value