1、添加附件
我从网上获得一段代码,可以实现类似163信箱中上传附件的功能。
但是发觉有个问题,点击“添加附件”后,前面上传的附件就消失了。
代码如下:
<html>
<head>
<title>Test</title>
<script type="text/javascript">
<!--
var sequence = 0;
function addAttachment() {
var index = sequence++;
var area = document.getElementById("attach_area");
area.innerHTML +=
"<div id=\"attach_" + index + "\">" +
"<input id=\"attach_file\" type=\"file\" />" + "<input type=\"button\" value=\"删除\" onclick=\"removeAttachment(" + index + ")\">" +
"</div>";
}function removeAttachment(index) {
var attachment = document.getElementById("attach_" + index);
if (attachment == null) {
return;
}
attachment.innerHTML = "";
attachment.outerHTML = "";
}//-->
</script>
</head>
<body>
<form action="">
<div id="attach_area">
</div>
<input type="button" value="添加附件" onclick="addAttachment()"/>
</form>
</body>
</html>
2、提交到后台,我用SmartUpload实现附件上传的操作。为什么getFiles().getCount()出来的结果是0啊,应该是上传几个附件返回值就应该为几啊。很着急,请求大家的帮助。谢谢。
我从网上获得一段代码,可以实现类似163信箱中上传附件的功能。
但是发觉有个问题,点击“添加附件”后,前面上传的附件就消失了。
代码如下:
<html>
<head>
<title>Test</title>
<script type="text/javascript">
<!--
var sequence = 0;
function addAttachment() {
var index = sequence++;
var area = document.getElementById("attach_area");
area.innerHTML +=
"<div id=\"attach_" + index + "\">" +
"<input id=\"attach_file\" type=\"file\" />" + "<input type=\"button\" value=\"删除\" onclick=\"removeAttachment(" + index + ")\">" +
"</div>";
}function removeAttachment(index) {
var attachment = document.getElementById("attach_" + index);
if (attachment == null) {
return;
}
attachment.innerHTML = "";
attachment.outerHTML = "";
}//-->
</script>
</head>
<body>
<form action="">
<div id="attach_area">
</div>
<input type="button" value="添加附件" onclick="addAttachment()"/>
</form>
</body>
</html>
2、提交到后台,我用SmartUpload实现附件上传的操作。为什么getFiles().getCount()出来的结果是0啊,应该是上传几个附件返回值就应该为几啊。很着急,请求大家的帮助。谢谢。
import="com.jspsmart.upload.*"
%>
<%@ page import="java.sql.*"%>
<%@ page import="java.util.*" %>
<%@ page session="true" %><jsp:useBean id="mySmartUpload" scope="page" class="com.jspsmart.upload.SmartUpload" />
<jsp:useBean id="db" scope="page" class="oa.gzl.opendb" />
<html>
<head>
<title>文件上传</title>
</head><body>
<center>文件上传</center>
<hr>
<%
String mesg="";
String time1="";
String time,rq;
int year,month,day,hour,minute,second;
GregorianCalendar calendar;
calendar=new GregorianCalendar();
year=calendar.get(Calendar.YEAR);
month=calendar.get(Calendar.MONTH)+1;
day=calendar.get(Calendar.DAY_OF_MONTH);
hour=calendar.get(Calendar.HOUR_OF_DAY);
minute=calendar.get(Calendar.MINUTE);
second=calendar.get(Calendar.SECOND);
rq=year+"-"+month+"-"+day+"-";
time=hour+":"+minute+":"+second;
mySmartUpload.initialize(pageContext);
mySmartUpload.upload();
int count=0;
String a[]=new String[3];
String b[]=new String[3];
for(int i=0;i<mySmartUpload.getFiles().getCount();i++)
{
File myFile=mySmartUpload.getFiles().getFile(i);
if(!myFile.isMissing())
{
time=year+"-"+month+"-"+day+i;
String filename=time1+"."+myFile.getFileExt();
myFile.saveAs("/upload/"+filename,mySmartUpload.SAVE_VIRTUAL);
String path="\\upload\\";
String fileloca=path+filename;
a[i]=fileloca;
b[i]=myFile.getFileExt();
count++;
}else{
a[i]="无";
b[i]="无";
}
} String title=mySmartUpload.getRequest().getParameter("title");
String name=mySmartUpload.getRequest().getParameter("name");
String bm=mySmartUpload.getRequest().getParameter("bm");
String content=mySmartUpload.getRequest().getParameter("content");
String type=mySmartUpload.getRequest().getParameter("type");
String author="";
String typename="";if(title.length()==0)
{
String errmsg="标题不能为空";
out.print("<font size=2>错误信息<hr></font><font size=2>"+errmsg+"</font><hr>");
}
else if(name.length()==0)
{
String errmsg="作者错误";
out.print("<font size=2>错误信息<hr><font size=2>"+errmsg+"</font><hr>");
}
else if(bm.length()==0)
{
String errmsg="类别错误";
out.print("<font size=2>错误信息<hr><font size=2>"+errmsg+"</font><hr>");
}else{ String errmsg="添加成功";
author=name+"/"+bm;
String sql="insert into news(title,author,content,rq,type,path1,path2,path3,lx1,lx2,lx3) values('"+title+"','"+author+"','"+content+"','"+rq+"','"+type+"','"+a[0]+"','"+a[1]+"','"+a[2]+"','"+b[0]+"','"+b[1]+"','"+b[2]+"')";
db.execQuery(sql);
response.sendRedirect("add_news.jsp");
}
%></body>
</html>供你参考!
<html>
<head>
<title>File Upload</title>
<meta http-equiv="Content-Type" content="text/html; charset="gb2315">
</head>
<body>
<H2>上传文件</H2><form enctype="multipart/form-data" method="post" action="upload.jsp">
<p>上传文件1: <input type="file"name="File1" size="20" maxlength="20"> <br>
文件描述 : <input type="text" name="File1" size="30" maxlength="50"> </p>
<p>上传文件2: <input type="file" name="File2" size="20" maxlength="20"> <br>
文件描述 : <input type="text" name="File2" size="30" maxlength="50"> </p><input type="submit"value="上传"></p>
</form></body>
</html>
upload.jsp
<%@page pageEncoding="gb2312"%>
<%@page contentType="text/html; charset=gb2312"%>
<%request.setCharacterEncoding("gb2312");%><%@ page import="java.io.*" %>
<%@ page import="java.util.*" %>
<%@ page import="com.oreilly.servlet.MultipartRequest" %><%
// 将上传文件存放在 C:\Upload下
String saveDirectory = "F://Upload";
File uploadPath=new File(saveDirectory);
if(!uploadPath.exists()) uploadPath.mkdir();
// 上传文件的大小限制在5 MB
int maxPostSize = 5 * 1024 * 1024 ; // 存放文件描述
String fileDescription[] = {null,null}; // 上传文件名
String fileName = null;
// 上传文件数
int count = 0 ;
// 上传文件
MultipartRequest multi = new MultipartRequest(request, saveDirectory, maxPostSize,"GBK" );
%>
<html>
<head>
<title>File Upload</title>
</head>
<body>
<%
// 取得文件描述
if ( multi.getParameter("File1") != null )
{
fileDescription[0] = multi.getParameter("File1");
}
else
{
fileDescription[0] = "";
}
if ( multi.getParameter("File2") != null )
{
fileDescription[1] = multi.getParameter("File2");
}
else
{
fileDescription[1] = "";
}
// 取得所有上传文件名称
Enumeration filesname = multi.getFileNames();
while (filesname.hasMoreElements())
{
String name = (String) filesname.nextElement();
fileName = multi.getFilesystemName(name);
File f = multi.getFile(name);
String ContentType = multi.getContentType(name);
if (fileName != null)
{
count ++;%>
<font color="red">您上传的第<%= count %>个文件:</font><br>
文件名:<%= fileName %><br>
文件类型:<%= ContentType %><br>
文件描述:<%= fileDescription[count-1] %><br><br><%
} // end if
} // end while
%>
您共上传<font color="red"><%= count %></font>个文件
</body>
</html>