java或js(可用jquery)如何获取上传文件原始路径名

java或js(可用jquery)如何获取上传文件原始路径名,第1张

上传文件时,我想获取客户端上传文件的原始路径。第一考虑,当然是使用js,例如网上可以找到的:

function getPath(obj) { if (obj) { if (windownavigatoruserAgentindexOf("MSIE") >= 1) { objselect(); return documentselectioncreateRange()text; } else if (windownavigatoruserAgentindexOf("Firefox") >= 1) { if (objfiles) { return objfilesitem(0)getAsDataURL(); } return objvalue; } return objvalue; } } 但这样的代码在Ie下还是可行的,但在火狐下不兼容。所以又想通过servlet的第三方工具去做,例如FileUpload,本以为FileItem下的getName()方法能够得到全路径名,但结果仍然只得到文件名,很是杯具!求解决方法!?

引用至于你说的,不明白你的意思关键问题是我要获得这个路径,并且传递到后台!用js会有兼容性问题,如果用FileUpload上传,是否可以获得呢?我是没有得到的!!! 问题补充:zhanjia 写道上传文件一般用input标签,type为file,浏览选择文件后就是文件在本地的绝对路径了

引用至于你说的,不明白你的意思关键的问题是我要获得这个本地路径,并且传到后台!用js可以得到,但存在兼容性问题!?如果用FileUpload呢?我暂时还没有得到!!! 问题补充:zhanjia 写道网上的一些解决方案:

一般都是上传以后在数据库中保存上传后的文件路径,本地路径一般没意义

除非像上面所说的文件上传预览,还有那么点用处

我用来做数据接口的,我仅仅是把路径传给另一个系统,然后那个系统就可以从这个路径取文件了。

尊敬的用户,您好!很高兴为您答疑。

默认设置下,处于安全考虑,火狐是无法获取此路径的。

但是通过修改设定,可以变相实现此目的:

第一步:打开“about:config”页面,查找“signedappletscodebase_principal_support”属性,将其值设置为true。

设为TRUE

第二步:在javascript中采用以下代码进行获取:

复制内容到剪贴板

代码:

function getValueFF(id){

var ip = documentgetElementById(id);

if (ipfiles) {

//ffx3 - try to have access to full path

try {

netscapesecurityPrivilegeManagerenablePrivilege( 'UniversalFileRead' )

}

catch (err) {

//need to set signedappletscodebase_principal_support to true

}

};

return ipvalue;

}

但是此方案对于面向大众的网站意义不大。

希望我的回答对您有所帮助,如有疑问,欢迎继续咨询我们。

首先, rich:fileUpload 是通过 fileUploadListener 来实现上传的,它是把上传的直接转换为 UploadedFile ,而这个类中没有路径这个属性,所以直接通过rich:fileUpload 应该是没法用js直接拿到路径的

如果使用js/jquery的上传的方法,可能可以拿到路径,你可以试试

<script src="文件地址" type="text/javascript"></script>

再把你需要用js文件的地方 粘贴这个进入

<script type="text/javascript" src="文件地址"></script>

可以在上传的JS函数setImagePreview()尾部加上

documentgetElementById('此处为元素的ID')stylesrc= "此处为上传的路径";

无法获取本地文件的绝对路径,这里涉及到一个浏览器安全问题。

<input type="file" onchang="javascript:changeFile();" />

// 选择文件

function changeFile () {

    var e = this;

    // 修正IE8下,文件上传异常

    var files = efiles;

    if (files == undefined) {

        return false;

    }

    // 取得选择文件相关数据信息

    var file = files[0], fileName = filename, fileSize = filesize;

    // 获取文件后缀名

    var fileType = fileNamesubstr(fileNamelastIndexOf(""))toLowerCase();

}

以上就是关于java或js(可用jquery)如何获取上传文件原始路径名全部的内容,包括:java或js(可用jquery)如何获取上传文件原始路径名、js如何获取火狐以及谷歌中<input type="file"/>的本地绝对路径、jsf 中 rich:fileUpload 控件怎样用js获得上传文件的客户端路径等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9416110.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-28
下一篇 2023-04-28

发表评论

登录后才能评论

评论列表(0条)

保存