【Java-001--上传文件或图片到服务器】

此文章只适合 小白,大神勿点。

之前写过文件上传的功能,后来接触到另一个写法,感觉好简单,记录一下。

文件上传和图片上传是一样的,只是返回信息写了 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

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值