日期:2014-05-17  浏览次数:21054 次

文件上传重命名
我是用uploadify做的多文件上传,


如图,点击“开始上传”,文件上传到服务器(页面下面有一个提交按钮的,我没有截图出来,点击“开始上传”时还没有提交整个页面),如何将要上传的文件(文件个数不定)进行重命名,图上原名为grass.jpg和look.jpg,修改成以  软件编号+序号的方式,即2013122616231.jpg和2013122616232.jpg存储到服务器呢?

上传页面软件标号name定为appNo,在uploadify后台处理的servlet中,我使用
String appNo = request.getParameter("appNo");获取不到appNo。只要获取到了appNo就好弄了请教如何解决。

------解决方案--------------------
<a href="javascript:$('#uploadify').uploadifySettings('scriptData',{'type':$('#TextBox1').val()}); jQuery('#uploadify').uploadifyUpload()">

用这个方法吧。本身有这个  uploadifySettings 
------解决方案--------------------
if("appNo".equals(item.getFieldName())){
String appNo= new String(item.getString())

这俩一起用 就取出来了  你好好看 用点心
------解决方案--------------------
我以前写了一个 给你自己看吧 ,我这个当时乱码 ,转换了一下 。

public ActionForward insert(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
UserInfo po =new  UserInfo();
DiskFileItemFactory factory = new DiskFileItemFactory();
ServletFileUpload upload = new ServletFileUpload(factory);
// 最大允许大小5M
// upload.setSizeMax(1024 * 1024 * 5);

String appName=request.getContextPath(); 
String path="../webapps"+appName+"/files/";
String purl="";
try {
List<FileItem> items = upload.parseRequest((HttpServletRequest) request);


for (FileItem item : items) {
if (!item.isFormField()) {
String fname = item.getName();
path=path+fname;
purl="files/"+fname;
//System.out.println(path+"$$$"+purl);
File f=new File(path);
if(f.getParentFile().exists()) f.getParentFile().mkdirs();
    f.createNewFile();
    FileOutputStream fi=new FileOutputStream(f);
    InputStream in=item.getInputStream();
    byte buffer[] = new byte[8192];
int bytesRead=0;
while ( (bytesRead = in.read(buffer, 0, 8192)) != -1){
fi.write(buffer, 0, bytesRead);
}
in.close();
fi.close();
}else {
if("name".equals(item.getFieldName())){

String name = new String(item.getString()
.getBytes("ISO-8859-1"),"UTF-8");