问题详情看下面回复
解决方案 »
- JAVA 将文字转换为图片
- ajax中文乱码问题.
- struts+spring+JPA 下的一个常见异常。BeanUtils.populate 急!
- logic:iterate 遍历不正常 在线等
- 分段显示时间
- 我用ArrayList把数据库写入其中,我该如何在struts2中使用标签输出呢?
- text的问题
- 表格动态合并
- 在WEB的textarea中如何控制显示的字间距
- strut2里面页面跳转后session的值尽然取不到了。。高手来帮帮我这个菜鸟吧~
- jquery 表格插件tablesorter的表头有多行和colspan不能排序问题
- http post上传文件,axis webservice上传文件
<tbody><tr>
<td> 视频名称</td>
<td> <input type="text" name="vName" ></td></tr>
<tr>
<td> 视频介绍</td>
<td> <input type="text" name="vIntro"></td></tr>
<tr>
<td> Browse</td>
<td> <input type="file" name="uploadify" id="uploadify" /></td></tr>
<tr>
<td><a href="javascript:jQuery('#uploadify').uploadifyUpload()">开始上传</a> </td>
<td><a href="javascript:jQuery('#uploadify').uploadifyClearQueue()">取消所有上传</a> </td></tr>
</tbody>
'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> </td>
<td><a href="javascript:jQuery('#uploadify').uploadifyClearQueue()">取消所有上传</a> </td></tr>
var videoInfo = document.getElementById('xxx');
fileDesc' : '支持格式:jpg或gif', //如果配置了以下的'fileExt'属性,那么这个属性是必须的
'fileExt' : '*.jpg;*.gif',//允许的格式
'scriptData' :{'vName':videoName,'vIntro':videoInfo}, // 上传前可以先用js处理,得到文本框的值
你好,我这么写,如果我的input有一个默认value,这个默认value可以传过去,但是,如果我没有默认value,而是手动输入的,传过去的只是一个空字符串,你知道怎么修改吗?
<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> 视频名称</td>
<td> <input type="text" name='vName' id='vName' ></td></tr>
<tr>
<td> 视频介绍</td>
<td> <input type="text" id='vInfo'></td></tr>
<tr>
<td> Browse</td>
<td> <input type="file" name="uploadify" id="uploadify" /></td></tr>
<tr>
<td><a href="javascript:jQuery('#uploadify').uploadifyUpload()">开始上传</a> </td>
<td><a href="javascript:jQuery('#uploadify').uploadifyClearQueue()">取消所有上传</a> </td></tr>
</tbody>
</table>
</body>
</html>
<%@ 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> 视频名称</td>
<td> <input type="text" name='vName' id='vName' ></td></tr>
<tr>
<td> 视频介绍</td>
<td> <input type="text" id='vInfo'></td></tr>
<tr>
<td> Browse</td>
<td> <input type="file" name="uploadify" id="uploadify" /></td></tr>
<tr>
<td><a href="javascript:jQuery('#uploadify').uploadifyUpload()">开始上传</a> </td><td><a href="javascript:jQuery('#uploadify').uploadifyClearQueue()">取消所有上传</a> </td></tr></tbody>
</table> </body>
</html>
<%@ 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> 视频名称</td>
<td> <input type="text" name='vName' id='vName' ></td></tr>
<tr>
<td> 视频介绍</td>
<td> <input type="text" id='vInfo'></td></tr>
<tr>
<td> Browse</td>
<td> <input type="file" name="uploadify" id="uploadify" /></td></tr>
<tr>
<td><a href="javascript:jQuery('#uploadify').uploadifyUpload()">开始上传</a> </td><td><a href="javascript:jQuery('#uploadify').uploadifyClearQueue()">取消所有上传</a> </td></tr></tbody>
</table> </body>
</html>
其实已经回复成功了,但是并没有显示。
F5就可以看到刚刚的回复。
应该算是bug吧。
++另外,lz有机会可以试试ajaxFileUpload组件。
<%@ 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> 视频名称</td>
<td> <input type="text" name='vName' id='vName' value="haha"></td></tr>
<tr>
<td> 视频介绍</td>
<td> <input type="text" id='vInfo'></td></tr>
<tr>
<td> Browse</td>
<td> <input type="file" name="uploadify" id="uploadify" /></td></tr>
<tr>
<td><a href="javascript:jQuery('#uploadify').uploadifyUpload()">开始上传</a> </td>
<td><a href="javascript:jQuery('#uploadify').uploadifyClearQueue()">取消所有上传</a> </td></tr>
</tbody>
</table>
</body>
</html>
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);
}
}