jfinal表单文件上传


jfinal 文件上传以来的jar包 cos-2017.5.jar

可以在jfinal 官网下载jfinal jar包下载

首先在config文件中的  configConstant方法中配置上传路径

me.setBaseUploadPath("upload/");
表单代码

这里注意要 form 里要加  enctype="multipart/form-data"并且提交方式 指定为post,否则会报错

<form method="post" action="/blog/upload" enctype="multipart/form-data">
	<input type="file" name="file">
	<input type="submit" value="上传">
</form>

后台代码

public void upload(){
		HttpServletRequest request = getRequest();
		String basePath = request.getContextPath();	
		//存储路径
		String path = getSession().getServletContext().getRealPath(Preference._PATH);
		UploadFile file = getFile("file");
		System.out.println(path);
		String fileName = "";
		if(file.getFile().length() > 200*1024*1024) {
			System.err.println("文件长度超过限制,必须小于200M");
		}else{
			//上传文件
			String type = file.getFileName().substring(file.getFileName().lastIndexOf(".")); // 获取文件的后缀
			fileName = System.currentTimeMillis() + type; // 对文件重命名取得的文件名+后缀
			String dest = path + "/" + fileName;
			file.getFile().renameTo(new File(dest));
			String realFile = basePath + "/" + Preference._PATH +  fileName;		
			String fname="/"+fileName;
			setAttr("fname", fname);
			setAttr("url", realFile);
			
		}
			
		renderJson();
	}


上传路径配置文件

public final class Preference {
	public static String _PATH = "upload/test/";
}

程序员的网址收藏夹

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JFinal 框架中,你可以使用 `UploadFile` 类来处理文件上传。以下是一个示例代码,用于在 JFinal 中实现文件上传功能: 1. 首先,创建一个控制器类(例如,`FileController`),并在其中添加一个处理文件上传的方法,比如 `upload` 方法: ```java public class FileController extends Controller { public void upload() { UploadFile uploadFile = getFile("file"); // 获取上传的文件 String savePath = "/path/to/save/file"; // 设置文件保存路径 String fileName = uploadFile.getFileName(); // 获取原始文件名 // 执行文件保存操作 uploadFile.getFile().renameTo(new File(savePath, fileName)); renderText("File uploaded successfully!"); } } ``` 2. 在路由配置文件(例如 `RouteConfig`)中,将该控制器方法与一个路由关联起来,使用 `add` 方法指定请求的 URL 和调用的方法: ```java public class RouteConfig extends JFinalConfig { public void configRoute(Routes routes) { routes.add("/file", FileController.class, "/file"); } } ``` 3. 创建一个视图页面(例如,`upload.html`),用于显示文件上传表单: ```html <form action="/file/upload" method="post" enctype="multipart/form-data"> <input type="file" name="file"> <input type="submit" value="Upload"> </form> ``` 在这个示例中,`getFile("file")` 方法用于获取上传的文件,`getFile` 方法的参数是表单中 `<input>` 标签的 `name` 属性值。 请根据你的实际需求修改保存路径和其他相关配置。这只是一个简单的示例,你可以根据自己的业务需求进行更多的配置和处理。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值