html或者js中中如何获得另存为的文件路径(java也可以)

JavaScript019

html或者js中中如何获得另存为的文件路径(java也可以),第1张

js实现文件另存为的我还没见到过。java的确实是可以,java的实现方式也不止一种。下面以Swing的方式来讲解一种:

通过创建一个文件对话框

//parent表示对话框的所有者 Frame

//title表示对话框的标题 String

//mode表示对话框的类型,这里指定为保存类型 int( FileDialog.SAVE)

FileDialog saveAsFileDialog = new FileDialog(parent, "对话框标题", FileDialog.SAVE)

然后指定这个文件对话框为文件保存类型。调用

saveAsFileDialog.setVisible(true)

的方式来显示对话框。显示对话框以后该对话框就处于阻塞状态等待用户通过UI界面去选择文件保存路径。点击保存以后。

saveAsFileDialog.getDirectory()//文件对话框的保存目录

     + saveAsFileDialog.getFile()// 获取此文件对话框的保存文件名

拿到保存路径就能够实现文件的保存逻辑操作了。

方法

// var str = location.href

// var arr = str.split("/")

// delete arr[arr.length - 1]

// var dir = arr.join("/")

// alert(dir)

上传文件时,我想获取客户端上传文件的原始路径。第一考虑,当然是使用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 写道网上的一些解决方案:一般都是上传以后在数据库中保存上传后的文件路径,本地路径一般没意义除非像上面所说的文件上传预览,还有那么点用处我用来做数据接口的,我仅仅是把路径传给另一个系统,然后那个系统就可以从这个路径取文件了。如果先上传一次,再给对方,这样不但影响上传速度,而且会产生大量的垃圾文件。