fileUpload多文件上传问题

feng8008 2008-09-23 05:17:34

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>

<title>My JSP 'test.jsp' starting page</title>

<meta http-equiv="pragma" content="no-cache">
<meta http-equiv="cache-control" content="no-cache">
<meta http-equiv="expires" content="0">
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="This is my page">
<style type="text/css">
*{
font-size: 12px;
}
.ondoc{
float: left;
padding-top: 5px;
}
#file_list{
float: left;
width: 300px;
border: 1px solid #88A;
height: 20px;
}
#uploadInput{
float: left;
z-index: -1;
}
#add{
background-color: #C8C8C8;
width: 80px;
height: 20px;
line-height: 20px;
text-decoration: none;
}
a{
text-decoration: none;
}
.input_browser{
cursor:pointer;
width:1px;
border:none;
height:32px;
padding:0px;
margin:0px;
position:absolute;
opacity:0;
filter:alpha(opacity=0);
left:-32px !important;left:-5px;left/**/:-3px;
font-size:20px;
}
</style>
<script type="text/javascript">
function $(id){
return document.getElementById(id);
}
var fileIndex = 0;
var files = new Array();
files[0] = "";
function createFile(){
fileIndex ++;
var oInput = document.createElement("INPUT");
oInput.id = "input"+fileIndex;
oInput.name = "input"+fileIndex;
oInput.type = "file";
oInput.className = "input_browser";
oInput.hideFocus = true;
oInput.size = 1;
$("uploadInput").appendChild(oInput);
alert($("uploadInput").innerHTML);
$("input"+fileIndex).click();
var file_list = $("file_list").innerHTML;
if(file_list != ""){
file_list += "<span id=\"content"+fileIndex+"\"><br>";
}else{
file_list += "<span id=\"content"+fileIndex+"\">";
}
var vv = $("input"+fileIndex).value;
if(fileIndex > 1){
if(check(vv)){
files[fileIndex] = vv;
file_list += "<img src='images/cx.gif'>" + vv + "<a href=\"javascript:void(0);\" onclick=\"delFile("+fileIndex+")\">删除</a></span>";
$("file_list").innerHTML = file_list;
}else{
$("uploadInput").removeChild(oInput);
fileIndex --;
}
}else{
files[fileIndex] = vv;
file_list += "<img src='images/cx.gif'>" + vv + "<a href=\"javascript:void(0);\" onclick=\"delFile("+fileIndex+")\">删除</a></span>";
$("file_list").innerHTML = file_list;
}
}
function delFile(index){
var content = $("content"+index);
files[index] = "";
$("file_list").removeChild(content);
var oInput = $("input"+index);
$("uploadInput").removeChild(oInput);
}
function check(v){
for(var i=0;i<files.length;i++){
if(v == files[i]){
alert("当前目录下已有相同文件,无须重复上传");
return false;
}
}
return true;
}

</script>
</head>

<body>
<form action="upload.jsp" method="post" enctype="multipart/form-data" >
<div style="width: 100%;">
<div class=ondoc>
电子文本文件存放
</div>
<div>
<div id="file_list">
</div>
<div id="uploadInput"></div>
<a href="javascript:void(0);" onclick="createFile()"><div class=add>文件浏览添加</div></a>
</div>
</div>
<div style="width: 100%;">
<div class=ondoc>
非电子文本文件存放位置
</div>
<div>
<input type="text" style="width: 349px;" name="lawdoc">
</div>
</div>
<input type="submit" value="确定" onclick="javascript:document.forms[0].submit();">
</form>
</body>
</html>

...全文
206 18 打赏 收藏 转发到动态 举报
写回复
用AI写文章
18 条回复
切换为时间正序
请发表友善的回复…
发表回复
海会圣贤 2008-09-24
  • 打赏
  • 举报
回复
<input type="text"
要改成type="file"啊

要点几下可能是你的js写得有问题吧
feng8008 2008-09-24
  • 打赏
  • 举报
回复
那么为什么会出现第一个问题?
老紫竹 2008-09-24
  • 打赏
  • 举报
回复
对不起,我从来不用第三方的上传组件。我只用我自己写的。

SORRY!
feng8008 2008-09-24
  • 打赏
  • 举报
回复
等待高手解答...
feng8008 2008-09-24
  • 打赏
  • 举报
回复
等待高手解答...
feng8008 2008-09-24
  • 打赏
  • 举报
回复
11楼的也不好用
feng8008 2008-09-23
  • 打赏
  • 举报
回复
自己顶...
qsrock 2008-09-23
  • 打赏
  • 举报
回复
ServletFileUpload.isMultipartContent(request);
factory.setSizeThreshold(4096);// 设置缓冲区大小,这里是4kb
factory.setRepository(new File(tempPath));//设置,tempPath:路径
ServletFileUpload upload = new ServletFileUpload(factory);
upload.setSizeMax(MAX_SIZE);//MAX_SIZE在定义的时候设置的
List<FileItem> /* FileItem */ items = upload.parseRequest(request);
Iterator<FileItem> iter = items.iterator();
while (iter.hasNext()) {
FileItem item = (FileItem) iter.next();
//....
}
feng8008 2008-09-23
  • 打赏
  • 举报
回复
一个是test.jsp,一个是upload.jsp
無名VF 2008-09-23
  • 打赏
  • 举报
回复
up
liaoyi_ipanel 2008-09-23
  • 打赏
  • 举报
回复
你写的两个文件名分别是什么?
liaoyi_ipanel 2008-09-23
  • 打赏
  • 举报
回复
恩 我去运行下再看看
feng8008 2008-09-23
  • 打赏
  • 举报
回复
运行一下就知道了三
就是类似网易网盘的那种
feng8008 2008-09-23
  • 打赏
  • 举报
回复
js里写的
liaoyi_ipanel 2008-09-23
  • 打赏
  • 举报
回复
没看你的js
介绍下这一堆js的作用啊
liaoyi_ipanel 2008-09-23
  • 打赏
  • 举报
回复
怎么没看到input type="file"?
feng8008 2008-09-23
  • 打赏
  • 举报
回复
问题1:我点确定,得点好几下才能提交,不知为啥?
问题2:fileItem为什么得到的都是空啊?
feng8008 2008-09-23
  • 打赏
  • 举报
回复

<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
<%@ page import="org.apache.commons.fileupload.*" %>
<%@ page import="java.io.*" %>
<%
try{
DiskFileUpload dfu = new DiskFileUpload();
dfu.setSizeMax(1024*10240);
dfu.setRepositoryPath(request.getRealPath("")+"js\\");
dfu.setSizeThreshold(4096);
List files = dfu.parseRequest(request);
if(files != null && files.size() > 0){
for(int i = 0 ; i < files.size() ; i ++){
FileItem ff = (FileItem)files.get(i);
String fileName = ff.getName();
System.out.println(i+"=="+fileName);
//ff.write(new File(request.getRealPath("")+"upl\\"+System.currentTimeMillis()+"\\"+fileName.substring(fileName.lastIndexOf("."))));
}
}
}catch(Exception e){
e.printStackTrace();

}

%>

81,095

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧