此文章只适合 小白,大神勿点。
之前写过文件上传的功能,后来接触到另一个写法,感觉好简单,记录一下。
文件上传和图片上传是一样的,只是返回信息写了 img 标签。
首先是 文件上传的 前段页面:
<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>文件上传</title>
</head>
<body>
<form action="upload_File_x.jsp" method="post" enctype="multipart/form-data">
文件上传:<input type="file" name="fileName" id="fileId">
<input type="submit" value="上传">
</form>
</body>
</html>
然后是 处理的代码,用的是 Java脚本,不用写 class和 各种方法,好舒服:
<%@page import="java.awt.event.ItemEvent"%>
<%@page import="org.apache.commons.fileupload.disk.DiskFileItem"%>
<%@page contentType="text/html;charset=utf-8"%>
<%@page import="java.io.*, org.apache.commons.fileupload.*"%>
<%@ page language="java" pageEncoding="UTF-8"%>
<% // 实现了文件上传功能,将本地文件上传到 服务器的某个目录下,暂时没有保存 原文件名称的功能
boolean flag = false;
boolean isMultipart = DiskFileUpload.isMultipartContent(request);
if(isMultipart ){
DiskFileUpload upload = new DiskFileUpload();
upload.setSizeMax(5 * 1024 *1024);
FileItem item = (FileItem)upload.parseRequest(request).get(0);
if(!item.isFormField()){
String path = request.getRealPath("/");
String filePath = path + "/data/test0035";
File f = new File(filePath);
out.println("create succ");
if(!f.exists()){ f.createNewFile(); }
item.write(f);
flag = true;
}
}
if(flag){
out.println("<p2>文件上传成功!</p2>");
}else{
out.println("<p2>文件上传失败!</p2>");
}
%>
但是看不到上传的文件。可以通过 上传图片来看看,图片是可以显示的。
图片上传:
<%@ page language="java" pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>图片上传显示</title>
</head>
<body>
<form action="upload_Image_x.jsp" method="POST" enctype="multipart/form-data">
图片上传:<input type="file" name="fileName">
<input type="submit" value="上传">
</form>
</body>
</html>
图片上传的处理页面:
<%@page import="java.awt.event.ItemEvent"%>
<%@page import="org.apache.commons.fileupload.disk.DiskFileItem"%>
<%@page contentType="text/html;charset=utf-8"%>
<%@page import="java.io.*, org.apache.commons.fileupload.*"%>
<%@ page language="java" pageEncoding="UTF-8"%>
<%
boolean flag = false;
boolean isMultipart = DiskFileUpload.isMultipartContent(request);
if(isMultipart){
DiskFileUpload upload = new DiskFileUpload();
upload.setSizeMax(5 * 1024 * 1024);
FileItem item = (FileItem)upload.parseRequest(request).get(0);
if(!item.isFormField()){
String path = request.getRealPath("/");
String imagePath = path + "/data/image001.jpg";
File f = new File(imagePath);
if(!f.exists()){ f.createNewFile(); }
item.write(f);
flag = true;
}
}
if(flag){
out.println("<img src='../data/image001.jpg'/>");
}else{
out.println("Failure");
}
%>
效果展示链接:访问我的外网:xxxx