总jspsmartupload组件上传的文件如何获取其文件名

总jspsmartupload组件上传的文件如何获取其文件名,第1张

String fileName=smartupload.getFiles().getFile(0).getFileName()

这个有没有扩展名我记不太清了~~如果现在得到的有扩展名,你又不想要。可以:

int i=fileName.lastIndexOf(".") //这是得到扩展名前面的.下标值。

String fileName=fileName.subString(0,i) //截取从0~ . 之间的的字符就是不含扩展名的文件名了..

如果哪有不妥,再联系我..

<%

// 新建一个SmartUpload对象

SmartUpload su = new SmartUpload()

// 上传初始化

su.initialize(pageContext)

文件和没有扩展名的文件。

// su.setDeniedFilesList("exe,bat,jsp,htm,html,,")

// 上传文件

su.upload()

// 将上传文件全部保存到指定目录

int count = su.save("/upload")

SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd_HHmmss")

// 逐一提取上传文件信息,同时可保存文件。

for (int i=0i<su.getFiles().getCount()i++)

{

com.jspsmart.upload.File file = su.getFiles().getFile(i)

// 若文件不存在则继续

if (file.isMissing()) continue

// 将文件另存

file.saveAs("/upload/" + sdf.format(new Date())+"."+file.getFileExt())

}

%>

这段代码执行后file.saveAs("/upload/" + sdf.format(new Date())+"."+file.getFileExt())把//去调

这是重命名的,但执行的结果是等于保存了2次文件

方法一:(之前在页面直接跳转上传时能够解决问题,异步提交上传图片就不能正常了)

1.解决中文乱码:

【1】:首先上传页面和接收页面都必须制定编码格式为GBK;

<%@ page language="java" import="java.util.*" pageEncoding="GBK"%>

【2】:在上传页面要response.setCharacterEncoding("GBK")

【3】:在接收页面要request.setCharacterEncoding("GBK")

【4】:注意上传时表单要指定编码为:enctype="multipart/form-data"

【5】:注意上传时表单要指定方法为:method="post"

方法二:(异步提交表单能正常解决)

【1】上传页面:(对参数做一次encodeURI)js

//对表单中的中文区域值得获取并进行转码

var name =  parent.window.$("#tabs_name").val()

var direction =  parent.window.$("#tabs_direction").val()

parent.window.$("#tabs_name").val( encodeURI(name))

parent.window.$("#tabs_direction").val( encodeURI(direction))

parent.window.$('#subject_modify').submit()   //提交表单

【2】接收参数页面(对参数做一次URLDecoder)

String name = smart.getRequest().getParameter("name")

name = URLDecoder.decode(name,"utf-8")


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

原文地址: http://outofmemory.cn/tougao/11913592.html

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

发表评论

登录后才能评论

评论列表(0条)

保存