问题详情看下面回复

解决方案 »

  1.   

    1.我想在点击上传的时候传一些text值过去,我的做法如下,但是发现值没有提交,jquery不会,请问你点击上传的时候能传值过去吗?
    <tbody><tr>
    <td>&nbsp; 视频名称</td>
    <td>&nbsp;<input type="text" name="vName" ></td></tr>
    <tr>
    <td>&nbsp;视频介绍</td>
    <td>&nbsp;<input type="text" name="vIntro"></td></tr>
    <tr>
    <td>&nbsp;Browse</td>
    <td>&nbsp;<input type="file" name="uploadify" id="uploadify" /></td></tr>
    <tr>
    <td><a href="javascript:jQuery('#uploadify').uploadifyUpload()">开始上传</a>&nbsp;</td>

    <td><a href="javascript:jQuery('#uploadify').uploadifyClearQueue()">取消所有上传</a>&nbsp;</td></tr>

    </tbody>
      

  2.   

    汗,看样子你这几天一直在研究这个组件哦。。其实很多东西你在官方的文档上是可以找到答案的。我还是说下怎么带参数吧。你可以在组件属性那添加个'scriptData'     :{'name':'hello'},fileDesc'       : '支持格式:jpg或gif', //如果配置了以下的'fileExt'属性,那么这个属性是必须的    
               'fileExt'        : '*.jpg;*.gif',//允许的格式  
               'scriptData'     :{'name':'hello'}, // 这里可以使json格式的参数后台直接用request.getParameter("name");取值,还有一种方法是在上传按钮的js事件里添加参数,原理是一样的,它会把你的参数追加到scriptData的json后面。
    代码:<td><a href="javascript:$('#uploadify').uploadifySettings('scriptData',{'name':'hello'); jQuery('#uploadify').uploadifyUpload()">开始上传</a>&nbsp;</td>
            
            <td><a href="javascript:jQuery('#uploadify').uploadifyClearQueue()">取消所有上传</a>&nbsp;</td></tr>
      

  3.   

    var videoName = document.getElementById('xxx');
    var videoInfo = document.getElementById('xxx');
    fileDesc'       : '支持格式:jpg或gif', //如果配置了以下的'fileExt'属性,那么这个属性是必须的    
               'fileExt'        : '*.jpg;*.gif',//允许的格式  
               'scriptData'     :{'vName':videoName,'vIntro':videoInfo}, // 上传前可以先用js处理,得到文本框的值
      

  4.   

    'scriptData':{'vName':document.getElementById('vName').value},
    你好,我这么写,如果我的input有一个默认value,这个默认value可以传过去,但是,如果我没有默认value,而是手动输入的,传过去的只是一个空字符串,你知道怎么修改吗?
      

  5.   

    直接用js获取就行了啊,你把你jsp代码贴出来。
      

  6.   

    直接用js获取就行了啊,你把你jsp代码贴出来。
      

  7.   

    <%@ page language="java" contentType="text/html; charset=utf-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head><title>Upload</title><!--装载文件--><script type="text/javascript" src="scripts/jquery-1.4.2.min.js"></script>
    <script type="text/javascript" src="scripts/swfobject.js"></script>
    <script type="text/javascript" src="scripts/jquery.uploadify.v2.1.4.min.js"></script>
    <!--ready事件-->
    <script type="text/javascript"> $(document).ready(function() {
    $("#uploadify").uploadify({
    'method':'GET',
    'uploader' : 'scripts/uploadify.swf',
    'script' : 'servlet/Upload',//后台处理的请求
    'cancelImg' : 'images/cancel.png',
    'folder' : 'uploads',//您想将文件保存到的路径
    'queueID' : 'fileQueue',//与下面的id对应
    'queueSizeLimit' : 5,
    'fileDesc' : 'flv文件或avi文件',
    'fileExt' : '*.flv;*.avi', //控制可上传文件的扩展名,视频或者文档再分开,启用本项时需同时声明fileDesc,可定格式
    'auto' : false,
    'multi' : true,
    'simUploadLimit' : 2,//允许同时上传的个数
    'buttonText' : 'browse',
    'scriptData':{'vName':document.getElementById('vName').value,'vInfo':document.getElementById('vInfo')},
    'onError' : function(event, ID, fileObj, errorObj) {
    alert(errorObj.type + ' Error: '+ errorObj.info);
    },
                'onSelect' : function(e, queueId, fileObj) {
                 var v=document.getElementById('vName').value;
    },
                'onAllComplete' : function(event,data) {
                
                    alert(data.filesUploaded + '个文件上传成功,'+"平均上传速度为:"+data.speed/1024+"MB/s,"+"上传文件的总大小为:"+data.allBytesLoaded+"KB" );
                }
    });
    });


    </script>
    </head><body>
     <table width="320" border="1" height="172">
    <tbody><tr>
    <td>&nbsp; 视频名称</td>
    <td>&nbsp;<input type="text"  name='vName' id='vName' ></td></tr>
    <tr>
    <td>&nbsp;视频介绍</td>
    <td>&nbsp;<input type="text" id='vInfo'></td></tr>
    <tr>
    <td>&nbsp;Browse</td>
    <td>&nbsp;<input type="file" name="uploadify" id="uploadify" /></td></tr>
    <tr>
    <td><a href="javascript:jQuery('#uploadify').uploadifyUpload()">开始上传</a>&nbsp;</td>

    <td><a href="javascript:jQuery('#uploadify').uploadifyClearQueue()">取消所有上传</a>&nbsp;</td></tr>

    </tbody>
    </table> 

    </body>
    </html>
      

  8.   

    上面的js少了个value
    <%@ page language="java" contentType="text/html; charset=utf-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head><title>Upload</title><!--装载文件--><script type="text/javascript" src="scripts/jquery-1.4.2.min.js"></script>
    <script type="text/javascript" src="scripts/swfobject.js"></script>
    <script type="text/javascript" src="scripts/jquery.uploadify.v2.1.4.min.js"></script>
    <!--ready事件-->
    <script type="text/javascript">$(document).ready(function() {
    $("#uploadify").uploadify({
    'method':'GET',
    'uploader' : 'scripts/uploadify.swf',
    'script' : 'servlet/Upload',//后台处理的请求
    'cancelImg' : 'images/cancel.png',
    'folder' : 'uploads',//您想将文件保存到的路径
    'queueID' : 'fileQueue',//与下面的id对应
    'queueSizeLimit' : 5,
    'fileDesc' : 'flv文件或avi文件',
    'fileExt' : '*.flv;*.avi', //控制可上传文件的扩展名,视频或者文档再分开,启用本项时需同时声明fileDesc,可定格式
    'auto' : false,
    'multi' : true,
    'simUploadLimit' : 2,//允许同时上传的个数
    'buttonText' : 'browse',
    'scriptData':{'vName':document.getElementById('vName').value,'vInfo':document.getElementById('vInfo').value},
    'onError' : function(event, ID, fileObj, errorObj) {
    alert(errorObj.type + ' Error: '+ errorObj.info);
    },
      'onSelect' : function(e, queueId, fileObj) {
      var v=document.getElementById('vName').value;
    },
    'onSelect' : function(e, queueId, fileObj) {
    alert("vName:"+document.getElementById('vName').value);
    alert("vInfo:"+document.getElementById('vInfo').value);
    },
      'onAllComplete' : function(event,data) {
       
      alert(data.filesUploaded + '个文件上传成功,'+"平均上传速度为:"+data.speed/1024+"MB/s,"+"上传文件的总大小为:"+data.allBytesLoaded+"KB" );
      }
    });
    });
    </script>
    </head><body>
     <table width="320" border="1" height="172">
    <tbody><tr>
    <td>&nbsp; 视频名称</td>
    <td>&nbsp;<input type="text" name='vName' id='vName' ></td></tr>
    <tr>
    <td>&nbsp;视频介绍</td>
    <td>&nbsp;<input type="text" id='vInfo'></td></tr>
    <tr>
    <td>&nbsp;Browse</td>
    <td>&nbsp;<input type="file" name="uploadify" id="uploadify" /></td></tr>
    <tr>
    <td><a href="javascript:jQuery('#uploadify').uploadifyUpload()">开始上传</a>&nbsp;</td><td><a href="javascript:jQuery('#uploadify').uploadifyClearQueue()">取消所有上传</a>&nbsp;</td></tr></tbody>
    </table> </body>
    </html>
      

  9.   

    csdn服务器真有问题,回了的突然就没有了!!!你上面那个第二个值最后少了个value
    <%@ page language="java" contentType="text/html; charset=utf-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head><title>Upload</title><!--装载文件--><script type="text/javascript" src="scripts/jquery-1.4.2.min.js"></script>
    <script type="text/javascript" src="scripts/swfobject.js"></script>
    <script type="text/javascript" src="scripts/jquery.uploadify.v2.1.4.min.js"></script>
    <!--ready事件-->
    <script type="text/javascript">$(document).ready(function() {
    $("#uploadify").uploadify({
    'method':'GET',
    'uploader' : 'scripts/uploadify.swf',
    'script' : 'servlet/Upload',//后台处理的请求
    'cancelImg' : 'images/cancel.png',
    'folder' : 'uploads',//您想将文件保存到的路径
    'queueID' : 'fileQueue',//与下面的id对应
    'queueSizeLimit' : 5,
    'fileDesc' : 'flv文件或avi文件',
    'fileExt' : '*.flv;*.avi', //控制可上传文件的扩展名,视频或者文档再分开,启用本项时需同时声明fileDesc,可定格式
    'auto' : false,
    'multi' : true,
    'simUploadLimit' : 2,//允许同时上传的个数
    'buttonText' : 'browse',
    'scriptData':{'vName':document.getElementById('vName').value,'vInfo':document.getElementById('vInfo').value},
    'onError' : function(event, ID, fileObj, errorObj) {
    alert(errorObj.type + ' Error: '+ errorObj.info);
    },
      'onSelect' : function(e, queueId, fileObj) {
      var v=document.getElementById('vName').value;
    },
    'onSelect' : function(e, queueId, fileObj) {
    alert("vName:"+document.getElementById('vName').value);
    alert("vInfo:"+document.getElementById('vInfo').value);
    },
      'onAllComplete' : function(event,data) {
       
      alert(data.filesUploaded + '个文件上传成功,'+"平均上传速度为:"+data.speed/1024+"MB/s,"+"上传文件的总大小为:"+data.allBytesLoaded+"KB" );
      }
    });
    });
    </script>
    </head><body>
     <table width="320" border="1" height="172">
    <tbody><tr>
    <td>&nbsp; 视频名称</td>
    <td>&nbsp;<input type="text" name='vName' id='vName' ></td></tr>
    <tr>
    <td>&nbsp;视频介绍</td>
    <td>&nbsp;<input type="text" id='vInfo'></td></tr>
    <tr>
    <td>&nbsp;Browse</td>
    <td>&nbsp;<input type="file" name="uploadify" id="uploadify" /></td></tr>
    <tr>
    <td><a href="javascript:jQuery('#uploadify').uploadifyUpload()">开始上传</a>&nbsp;</td><td><a href="javascript:jQuery('#uploadify').uploadifyClearQueue()">取消所有上传</a>&nbsp;</td></tr></tbody>
    </table> </body>
    </html>
      

  10.   


    其实已经回复成功了,但是并没有显示。
    F5就可以看到刚刚的回复。
    应该算是bug吧。
      

  11.   

    有value也还是不行,我的意思是说,如果在<input type="text" name="vName" value="如果这里有默认值就传得过去,如果没有就传不过去"> 
      

  12.   


    ++另外,lz有机会可以试试ajaxFileUpload组件。
      

  13.   

    jsp代码
    <%@ page language="java" contentType="text/html; charset=utf-8"%><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
    <head><title>Upload</title><!--装载文件--><script type="text/javascript" src="scripts/jquery-1.4.2.min.js"></script>
    <script type="text/javascript" src="scripts/swfobject.js"></script>
    <script type="text/javascript" src="scripts/jquery.uploadify.v2.1.4.min.js"></script>
    <!--ready事件-->
    <script type="text/javascript"> $(document).ready(function() {
    $("#uploadify").uploadify({
    'method':'GET',
    'uploader' : 'scripts/uploadify.swf',
    'script' : 'servlet/Upload',//后台处理的请求
    'cancelImg' : 'images/cancel.png',
    'folder' : 'uploads',//您想将文件保存到的路径
    'queueID' : 'fileQueue',//与下面的id对应
    'queueSizeLimit' : 5,
    'fileDesc' : 'flv文件或avi文件',
    'fileExt' : '*.flv;*.avi', //控制可上传文件的扩展名,视频或者文档再分开,启用本项时需同时声明fileDesc,可定格式
    'auto' : false,
    'multi' : true,
    'simUploadLimit' : 2,//允许同时上传的个数
    'buttonText' : 'browse',
    'scriptData':{'vName':document.getElementById('vName').value,'vInfo':document.getElementById('vInfo').value},
    'onError' : function(event, ID, fileObj, errorObj) {
    alert(errorObj.type + ' Error: '+ errorObj.info);
    },
                'onSelect' : function(e, queueId, fileObj) {
                 var v=document.getElementById('vName').value;
    },
                'onAllComplete' : function(event,data) {
                
                    alert(data.filesUploaded + '个文件上传成功,'+"平均上传速度为:"+data.speed/1024+"MB/s,"+"上传文件的总大小为:"+data.allBytesLoaded+"KB" );
                }
    });
    });


    </script>
    </head><body>
     <table width="320" border="1" height="172">
    <tbody><tr>
    <td>&nbsp; 视频名称</td>
    <td>&nbsp;<input type="text"  name='vName' id='vName' value="haha"></td></tr>
    <tr>
    <td>&nbsp;视频介绍</td>
    <td>&nbsp;<input type="text" id='vInfo'></td></tr>
    <tr>
    <td>&nbsp;Browse</td>
    <td>&nbsp;<input type="file" name="uploadify" id="uploadify" /></td></tr>
    <tr>
    <td><a href="javascript:jQuery('#uploadify').uploadifyUpload()">开始上传</a>&nbsp;</td>

    <td><a href="javascript:jQuery('#uploadify').uploadifyClearQueue()">取消所有上传</a>&nbsp;</td></tr>

    </tbody>
    </table> 

    </body>
    </html>
      

  14.   

    java代码,获取值在 生成文件名  那里
    package com.xzit.upload;import java.io.File;
    import java.io.IOException;
    import java.util.Enumeration;
    import java.util.Iterator;
    import java.util.List;
    import java.util.UUID;import javax.servlet.ServletException;
    import javax.servlet.http.HttpServlet;
    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;
    import org.apache.commons.fileupload.FileItem;
    import org.apache.commons.fileupload.FileUploadException;
    import org.apache.commons.fileupload.disk.DiskFileItemFactory;
    import org.apache.commons.fileupload.servlet.ServletFileUpload;import domain.Video;@SuppressWarnings("serial")
    public class Upload extends HttpServlet { @SuppressWarnings("unchecked")
    public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String savePath = this.getServletConfig().getServletContext().getRealPath("");

    savePath = savePath + "/uploads/";//视频的存放地址 File f1 = new File(savePath);//创建视频的文件夹
    //System.out.println("savepath:"+savePath);
    if (!f1.exists()) {
    f1.mkdirs();
    }
    DiskFileItemFactory fac = new DiskFileItemFactory();
    ServletFileUpload upload = new ServletFileUpload(fac);
    upload.setHeaderEncoding("utf-8");
    List fileList = null; try {
    fileList = upload.parseRequest(request);
    } catch (FileUploadException ex) {
    return;
    } Iterator<FileItem> it = fileList.iterator();
    String name = "";
    String extName = ""; while (it.hasNext()) {
    FileItem item = it.next();
    if (!item.isFormField()) {
    name = item.getName();//   获取文件名

    long size = item.getSize(); // 

    String type = item.getContentType();

    //System.out.println("size:"+size + " "+ "type:"+ type);

    if (name == null || name.trim().equals("")) {
    continue;
    }
    // 扩展名格式:
    if (name.lastIndexOf(".") >= 0) {
    extName = name.substring(name.lastIndexOf("."));
    }// // 生成文件名:

    String realName = request.getParameter("vName");

    String info = request.getParameter("vInfo");

    System.out.println("realName------:"+realName+"---intro:--"+info);
    System.out.println(request.getParameter("test"));
    Video video = new Video();
    //video.setName(realName);//


    File file = null;
    //System.out.println("realname:"+name);

        do { // 生成文件名: name = UUID.randomUUID().toString();//全球唯一id file = new File(savePath + name + extName); } while (file.exists());
    File saveFile = new File(savePath + name + extName);
    // System.out.println("savePath:"+savePath+" name:"+name+" extName:"+extName);
    // System.out.println("saveFile Name:"+saveFile.getName());
    // System.out.println("path:"+savePath+name);
    try { item.write(saveFile); } catch (Exception e) { e.printStackTrace(); }/* //test
    String fileName = "";
    fileName = name.substring(0,name.lastIndexOf("."));
    File saveFile = new File(savePath + fileName+ extName);
    System.out.println("savePath:"+savePath+" name:"+name+" extName:"+extName);
    System.out.println("saveFile Name:"+saveFile.getName());
    try {

    //request.setAttribute("fileUpError","已存在文件名相同的文件");
    item.write(saveFile);//把文件上传到服务器
    } catch (Exception e) {
    e.printStackTrace();
    }*/
    }
    }
    response.getWriter().print(name + extName);
    }
    }