下载:请求<a href='do_download.jsp?dfilename=url'>下载</a>
<%@ page contentType="text/html;charset=gb2312" import="com.jspsmart.upload.*,java.util.*" %>
<%request.setCharacterEncoding("UTF-8");%>
<%
String dfilename=request.getParameter("dfilename");
//out.print("HI");
// 新建一个SmartUpload对象
SmartUpload su = new SmartUpload();
// 初始化
su.initialize(pageContext);
su.setContentDisposition(null); //禁止浏览器自动打开
// 下载文件
try{
su.downloadFile(""+dfilename);
}catch(Exception e){
out.print("<script>alert('下载文件不存在!');</script>");
}
%>
上传:
<%@page contentType="text/html; charset=GBK" import="java.text.SimpleDateFormat,java.util.*" %>
<%@ page import="org.dias.basic.*,org.dias.filesender.*"%>
<%@ page import="org.dias.deploy.*,org.dias.log.*,java.io.*,java.util.*,java.lang.*,java.nio.*,org.dias.database.*"%>
<%@ page import="java.sql.*,oracle.sql.BLOB"%>
<HTML>
<HEAD>
<TITLE>模版文件定义</TITLE>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<script language="JavaScript"
src="<%=request.getContextPath()%>/interface4j/DIASClientActive/scripts/basic/operation.jse">
</script>
<script language="JavaScript"
src="<%=request.getContextPath()%>/interface4j/DIASClientActive/scripts/basic/object.jse">
</script>
<%
Calendar c = Calendar.getInstance();
SimpleDateFormat simpleDateTimeFormat1 = new SimpleDateFormat("yyyyMMdd");
c = Calendar.getInstance(Locale.CHINESE);
String sys_year = simpleDateTimeFormat1.format(c.getTime()) ;
%>
<input type="hidden" value="<%=sys_year %>" id="sys_year">
<%
request.setCharacterEncoding("UTF-8");
Constants cs = new Constants();
String da=cs.getSequencePadValue();
String filepath = request.getParameter("filepath");
String SYSDATE = request.getParameter("d");
String de = request.getParameter("de");
//String flowid = request.getParameter("flowid");
//String table_name=request.getParameter("table_name");
String dd=request.getParameter("da");
String excelpath="";
if (filepath!=null)
{
filepath =filepath+"\\\\NoticeUpload\\\\";
//out.print(filepath);
LoadDeployDatabase server = LoadDeployDatabase.getInstance();
if (server.getDBEncoding()){//确定WEB Server是否需要进行中文编码;
Encoding endoding = new Encoding();
filepath = endoding.changeEncoding(filepath,Constants.DB_CHARACTER,Constants.PAGE_CHARACTER);
}
//WriteLog.println("***"+filepath);
InputStream iso = request.getInputStream();
int FormSize = request.getContentLength();
//out.println("alert('"+String.valueOf(FormSize)+"');");
DataInputStream dis = new DataInputStream(iso);
String filename="";
byte[] b;
byte t;
int i=0;
String outStr="";
try{
b=new byte[FormSize];
while (true){
try{
t=dis.readByte();
b[i]=t;
i++;
}catch(EOFException e){
break;
}
}
//outStr = new String(b);
outStr = new String(b,"ISO8859_1");
String headStr1="";
int hPoint = outStr.indexOf("\n");
if (hPoint!=-1){
headStr1 = outStr.substring(0,hPoint-1);
//out.println("alert('"+headStr1+"');");
}
outStr = outStr.substring(hPoint+1,outStr.length());
hPoint = outStr.indexOf("\n");
if (hPoint!=-1){
String headStr2 = outStr.substring(0,hPoint-1);
headStr2 = new String(headStr2.getBytes("ISO8859_1"),"GBK");
int fPoint = headStr2.indexOf("filename=\"");
String cFilePath = headStr2.substring(fPoint+10,headStr2.length()-1);
int fextPoint = cFilePath.lastIndexOf("\\");
if (fextPoint==-1){
fextPoint = cFilePath.lastIndexOf(Constants.FILE_SEPARATOR);//---"/";
if (fextPoint==-1){
filename = cFilePath;
}else{
filename = cFilePath.substring(fextPoint+1,cFilePath.length());
}
}else{
filename = cFilePath.substring(fextPoint+1,cFilePath.length());
}
//WriteLog.println("alert('"+headStr2+"');");
//WriteLog.println("alert('"+filename+"');");
//out.println(filename);
}
outStr = outStr.substring(hPoint+1,outStr.length());
hPoint = outStr.indexOf("\n");
if (hPoint!=-1){
String headStr3 = outStr.substring(0,hPoint-1);//-1
}
outStr = outStr.substring(hPoint+3,outStr.indexOf(headStr1)-2);
//WriteLog.println("WWW:"+filepath+filename);
}catch(IOException e){
WriteLog.println(e);
}
finally{
dis.close();
iso.close();
}
//FileOutputStream fos = new FileOutputStream(filepath+de+filename);
FileOutputStream fos = new FileOutputStream(filepath+de);
//FileOutputStream fos = new FileOutputStream(filepath+filename);
excelpath=filepath+de+filename;
//out.print(de+"<br>");
//out.print("alert("+filename+");");
try{
fos.write(outStr.getBytes("ISO8859_1"));//ISO8859_1;
}catch(IOException e){
WriteLog.println(e);
}finally{
fos.close();
}
}
%>
<style type="text/css">
td {
font-size: 13;
}
</style>
<body style="padding:0px;margin:0px;">
<br><center>
<form name="myform" action="" method="post" enctype="multipart/form-data" >
<table>
<tr>
<td align="left" width="100%"><input type="file" style="width:250px;" id="uploadfile" οnchange="getName()" name="uploadfile" />文件名称:<input type="text" style="width:120px;" id="name"><input type="button" value="上传" οnclick="changeP()"></td>
</tr>
</table>
<input type="hidden" name="filepath" value="<%=filepath%>" />
<input type="hidden" name="cur_da" value="<%=da%>" />
<input type="hidden" name="cur_dirpath" value="<%=Constants.WEBROOT_DIR%>" />
</form>
</center>
<script language="JavaScript">
var xpo=new createXMLPOSTObject();//创建xml通讯对象
var webroot="<%=request.getContextPath()%>";
function changeP(){
var webpath=document.getElementById("cur_dirpath").value;//服务器路径
var file=document.getElementById("uploadfile");//文件路径
var name=document.getElementById("name").value;
if(name==""){
alert("文件名称不能为空!");return;
}
var sys_year=document.getElementById("sys_year").value;
//if(!(file.value.substring(file.value.lastIndexOf("."))==".doc"||file.value.substring(file.value.lastIndexOf("."))==".docx"||file.value.substring(file.value.lastIndexOf("."))==".excel"||file.value.substring(file.value.lastIndexOf("."))==".gif"||file.value.substring(file.value.lastIndexOf("."))==".png"||file.value.substring(file.value.lastIndexOf("."))==".jpg"))
//{
//alert("请选择正确格式的文件!");
//file.focus();
//return;
//}
file=file.value;
if(file==""){
alert("请选择上传文件!");return;
}
var index=file.lastIndexOf("\\");
file=file.substring((index+1),file.length);
var da=document.getElementById("cur_da").value;//随机数
//da=sys_year+da.substring(0,8);
webpath=webpath.replace(/\\/g,'\\\\');
var FILEPATH=webpath+"\\\\FileUpload\\\\"+da+file;//存储路径
var ab = new Operation(); //创建实例;
var d=ab.getSystemFormatDateTime("-",":");
var de=oper.getSystemDateTime();
//var myimg = '/NoticeUpload/'+de+file;
//
de=de+file.substring(file.lastIndexOf("."));
var myimg = '/NoticeUpload/'+de;
//alert(file);
//alert(de);
//alert("myimg"+myimg);
//parent.document.getElementById("path").value=myimg;
//parent.document.getElementById("name").value=da+file;
parent.onLoadArr[parent.onLoadArr.length]=new Array(myimg,name);
document.getElementById("uploadfile").value=myimg;
myform.action="upload1.jsp?filepath="+webpath+"&d="+d+"&da="+da+"&de="+de;
//alert(de+file);
myform.submit();
}
function getName(){
var file=document.getElementById("uploadfile").value;//文件路径
//alert(file.indexOf("."));
//alert(file.lastIndexOf("."));
//alert(file.lastIndexOf("\\"));
// alert());
document.getElementById("name").value=file.substring((file.lastIndexOf("\\")+1),file.lastIndexOf("."));
// file.indexof(.);
}
</script>
</body>
</html>
太麻烦了!!!