JSP上传文件代码Word文件下载.docx
- 文档编号:22284569
- 上传时间:2023-02-03
- 格式:DOCX
- 页数:6
- 大小:16.40KB
JSP上传文件代码Word文件下载.docx
《JSP上传文件代码Word文件下载.docx》由会员分享,可在线阅读,更多相关《JSP上传文件代码Word文件下载.docx(6页珍藏版)》请在冰豆网上搜索。
%--
类型enctype用multipart/form-data,这样可以把文件中的数据作为流式数据上传,不管是什么文件类型,均可上传。
--%>
请选择要上传的文件<
inputtype="
file"
name="
upfile"
size="
50"
submit"
value="
提交"
/form>
/body>
/html>
来源:
(-用JSP实现文件上传功能_chuansir_新浪博客
doUpload.jsp
charset=GBK"
%>
%@pageimport="
java.io.*"
java.util.*"
javax.servlet.*"
javax.servlet.http.*"
head>
upFile<
/head>
bodybgcolor="
#ffffff"
%
//定义上载文件的最大字节
intMAX_SIZE=102400*102400;
//创建根路径的保存变量
StringrootPath;
//声明文件读入类
DataInputStreamin=null;
FileOutputStreamfileOut=null;
//取得客户端的网络地址
StringremoteAddr=request.getRemoteAddr();
//获得服务器的名字
StringserverName=request.getServerName();
//取得互联网程序的绝对地址
StringrealPath=request.getRealPath(serverName);
realPath=realPath.substring(0,realPath.lastIndexOf("
\\"
));
//创建文件的保存目录
rootPath=realPath+"
\\upload\\"
;
//取得客户端上传的数据类型
StringcontentType=request.getContentType();
try{
if(contentType.indexOf("
)>
=0){
//读入上传的数据
in=newDataInputStream(request.getInputStream());
intformDataLength=request.getContentLength();
if(formDataLength>
MAX_SIZE){
out.println("
P>
上传的文件字节数不可以超过"
+MAX_SIZE+"
/p>
"
);
return;
}
//保存上传文件的数据
bytedataBytes[]=newbyte[formDataLength];
intbyteRead=0;
inttotalBytesRead=0;
//上传的数据保存在byte数组
while(totalBytesRead<
formDataLength){
byteRead=in.read(dataBytes,totalBytesRead,formDataLength);
totalBytesRead+=byteRead;
//根据byte数组创建字符串
Stringfile=newString(dataBytes);
//out.println(file);
//取得上传的数据的文件名
StringsaveFile=file.substring(file.indexOf("
filename=\"
)+10);
saveFile=saveFile.substring(0,saveFile.indexOf("
\n"
saveFile=saveFile.substring(saveFile.lastIndexOf("
)+1,saveFile.indexOf("
\"
intlastIndex=contentType.lastIndexOf("
="
//取得数据的分隔字符串
Stringboundary=contentType.substring(lastIndex+1,contentType.length());
//创建保存路径的文件名
StringfileName=rootPath+saveFile;
//out.print(fileName);
intpos;
pos=file.indexOf("
pos)+1;
intboundaryLocation=file.indexOf(boundary,pos)-4;
//out.println(boundaryLocation);
//取得文件数据的开始的位置
intstartPos=((file.substring(0,pos)).getBytes()).length;
//out.println(startPos);
//取得文件数据的结束的位置
intendPos=((file.substring(0,boundaryLocation)).getBytes()).length;
//out.println(endPos);
//检查上载文件是否存在
FilecheckFile=newFile(fileName);
if(checkFile.exists()){
p>
+saveFile+"
文件已经存在.<
//检查上载文件的目录是否存在
FilefileDir=newFile(rootPath);
if(!
fileDir.exists()){
fileDir.mkdirs();
//创建文件的写出类
fileOut=newFileOutputStream(fileName);
//保存文件的数据
fileOut.write(dataBytes,startPos,(endPos-startPos));
fileOut.close();
out.println(saveFile+"
文件成功上载.<
}else{
Stringcontent=request.getContentType();
上传的数据类型不是multipart/form-data<
}catch(Exceptionex){
thrownewServletException(ex.getMessage());
最好采用servlet的方式来处理以上jsp内的内容。
补充,只要是上网找的,一般没问题,只不过靠jsp来处理smartupload的可能会失效。
我去网上给你找了一个。
你自己看看。
response.setContentType("
PrintWriterout=response.getWriter();
SmartUploadmySmartUpload=newSmartUpload();
StringcurrentDirectoryPath=null;
StringsavePath="
E:
/public_html/java_root/NETDISK/WebRoot/NET_SPACE/1/我的音乐/"
//mySmartUpload.setDenyPhysicalPath(true);
mySmartUpload.setForcePhysicalPath(true);
mySmartUpload.initialize(this.getServletConfig(),request,response);
//设定上传限制
//1.限制每个上传文件的最大长度。
10M
mySmartUpload.setMaxFileSize(10000000);
//2.限制总上传数据的长度。
//mySmartUpload.setTotalMaxFileSize(20000);
//3.设定允许上传的文件(通过扩展名限制),仅允许doc,txt文件。
//mySmartUpload.setAllowedFilesList("
doc,txt"
//4.设定禁止上传的文件(通过扩展名限制),禁止上传带有exe,bat,jsp,htm,html扩展名的文件和没有扩展名的文件。
//mySmartUpload.setDeniedFilesList("
exe,bat,jsp,htm,html,,"
//Denyphysicalpath
try{
mySmartUpload.upload();
}catch(SmartUploadExceptione1){
//TODOAuto-generatedcatchblock
e1.printStackTrace();
}
//读取其它数据
com.jspsmart.upload.Requestreq=mySmartUpload.getRequest();
Stringtitle=req.getParameter("
dest"
//保存文件
for(inti=0;
i<
mySmartUpload.getFiles().getCount();
i++){
com.jspsmart.upload.Filefile=mySmartUpload.getFiles().getFile(i);
if(file.isMissing())continue;
file.saveAs(savePath+file.getFileName());
}catch(SmartUploadExceptione){
e.printStackTrace();
logger.info("
e:
+e);
}
out.println("
dest:
+title);
out.close();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- JSP 上传 文件 代码