java web项目java后台获取前台js上传文件的路径

JavaScript026

java web项目java后台获取前台js上传文件的路径,第1张

如果通过servelet来读取上传文件路径,则代码如下,我已经在项目中用过了:

DiskFileItemFactory difif = new DiskFileItemFactory()

difif.setSizeThreshold(32*1024)difif.setRepository(new File(tmpDir))        //

用以上工厂实例化上传组件ServletFileUpload sfu = new ServletFileUpload(difif)

sfu.setSizeMax(MAX_SIZE)

List fileList = sfu.parseRequest(request)

if ( fileList == null || fileList.size() == 0) {                throw new Exception("

导入文件不存在,请检

查")} else {                File upLoadFile = null                Iterator fileIterator = fileList.iterator()

//得到所有上传的文

件                while (fileIterator.hasNext()) {                    FileItem fileItem = (FileItem)fileIterator.next()                    //

取得上传文件

名                    if (fileItem.getContentType() == null) {                    } else {

                        //

此为路

径                        String path = fileItem.getName()                        String t_ext = path.substring(path.lastIndexOf(".") + 1)                                                //

根据系统时间生成上传后保存的文件

名                        String prefix = String.valueOf(System.currentTimeMillis())                        //

保存最终的文件完整路径,保存在工程根目录下的Upload目录

下                        String u_name = tmpDir + File.separator + prefix + "." + t_ext                                                //

开始保存文

件                        upLoadFile = new File(u_name)                        fileItem.write(upLoadFile)                    }                }            }

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()// 获取此文件对话框的保存文件名

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

下面是一个VB脚本的,需要加入可信站点才能弹出对话框,打开要保存的文件夹

<script language="vbscript">

Function Foder()

Const MY_COMPUTER = &H11&

Const WINDOW_HANDLE = 0

Const OPTIONS = 0

Set objShell = CreateObject("Shell.Application")

Set objFolder = objShell.Namespace(MY_COMPUTER)

Set objFolderItem = objFolder.Self

strPath = objFolderItem.Path

Set objShell = CreateObject("Shell.Application")

Set objFolder = objShell.BrowseForFolder _

(WINDOW_HANDLE, "请选择文件夹:", OPTIONS, strPath)

If objFolder Is Nothing Then

exit Function

End If

Set objFolderItem = objFolder.Self

objPath = objFolderItem.Path

document.frmList.FODER_PATH.value = objPath

End Function

</script>

<input type = "button" name = "path" size = "100" onclick="Foder()" value="选择文件夹" />

客户导入选择文件就用file就可以

<input type="file" name="DATA_RESTORE_PATH" maxlength="20" style="WIDTH: 100px" >