文档章节

jfinal上传文件

zchuanzhao
 zchuanzhao
发布于 2015/10/19 13:35
字数 231
阅读 124
收藏 2

先导入 cos-26Dec2008.jar包

package com.lxinet.qqorder.controller;

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.text.SimpleDateFormat;
import java.util.Arrays;
import java.util.Collections;
import java.util.Date;
import java.util.List;
import com.jfinal.core.Controller;
import com.jfinal.kit.PathKit;
import com.jfinal.upload.UploadFile;

/**
 * 上传文件 
 * @author cz
 */
public class UploadController extends Controller {
	public void doUpload() {
		String path = new SimpleDateFormat("yyyyMMdd").format(new Date());
		UploadFile file = getFile("filedata", PathKit.getWebRootPath()
				+ "/temp");
		File source = file.getFile();
		String fileName = file.getFileName();
		String extension = fileName.substring(fileName.lastIndexOf("."));
		String prefix = "upload/";
		try {
			if (".png".equals(extension) || ".jpg".equals(extension)
					|| ".gif".equals(extension)) {
				prefix += "img";
				fileName = generateWord() + extension;
			} else {
				prefix += "file";
			}
			FileInputStream fis;
			fis = new FileInputStream(source);
			File targetDir = new File(PathKit.getWebRootPath() + "/" + prefix
					+ "/" + path);
			if (!targetDir.exists()) {
				targetDir.mkdirs();
			}
			File target = new File(targetDir, fileName);
			if (!target.exists()) {
				target.createNewFile();
			}
			FileOutputStream fos = new FileOutputStream(target);
			byte[] bts = new byte[300];
			while (fis.read(bts, 0, 300) != -1) {
				fos.write(bts, 0, 300);
			}
			fos.close();
			fis.close();
			setAttr("statusCode", 200);
			setAttr("message", "");
			setAttr("filename", "" + prefix + "/" + path + "/" + fileName);
			source.delete();
		} catch (Exception e) {
			e.printStackTrace();
		}
		renderJson();
	}

	private String generateWord() {
		String[] beforeShuffle = new String[] { "2", "3", "4", "5", "6", "7",
				"8", "9", "A", "B", "C", "D", "E", "F", "G", "H", "I", "J",
				"K", "L", "M", "N", "O", "P", "Q", "R", "S", "T", "U", "V",
				"W", "X", "Y", "Z" };
		List<String> list = Arrays.asList(beforeShuffle);
		Collections.shuffle(list);
		StringBuilder sb = new StringBuilder();
		for (int i = 0; i < list.size(); i++) {
			sb.append(list.get(i));
		}
		String afterShuffle = sb.toString();
		String result = afterShuffle.substring(5, 9);
		return result;
	}
}


© 著作权归作者所有

共有 人打赏支持
zchuanzhao
粉丝 50
博文 240
码字总数 145131
作品 1
福州
程序员
私信 提问
JFinal文件上传问题

@JFinal 你好,想跟你请教个问题: 新手刚学习JFianl 遇见一个问题,关于文件上传的: UploadFile uploadFile = getFile("file")或者UploadFile uploadFile = getFile(getPara("file")); 如果...

火龙战士
2016/05/31
194
1
使用jfinal多文件上传的时候如果文件域使用html5的multiple="multiple"属性getFiles得不到正确的文件数

@jfinal 今天使用jfinal做一个wap应用的时候需要用到jfinal的文件上传但是在使用过程中发现多文件上传的时候使用html5的multiple="multiple"属性时 List uploadList = getFiles("xxxx"); 得不...

helloyangxp
2014/05/12
3.3K
4
JFinal文件上传问题

新手刚学习JFianl 遇见一个问题,关于文件上传的: UploadFile uploadFile = getFile("file")或者UploadFile uploadFile = getFile(getPara("file")); 如果这样写默认上传到web根目录下的upl...

火龙战士
2016/05/31
807
1
JFinal上传bug

@JFinal 你好,想跟你请教个问题:jfinal的上传文件多文件上传的时候 第二个文件明明上传不成功 但是还是上传上去了 显示0K或者不是源文件大小 jfinal再上传方面文件流没有读取完不应该上传上...

绿色的小苹果
2015/12/17
332
5
JFinal项目成功部署到SAE之后,上传文件出现问题

@JFinal 你好,想跟你请教个问题: JFinal项目成功部署到SAE之后,上传文件出现问题: 这是错误日志: 相关代码: 之前本地测试上传图片保存至七牛上,是没有问题的,部署至SAE上之后,修改了...

chris_hellowoo
2015/04/28
204
2

没有更多内容

加载失败,请刷新页面

加载更多

让哲学照亮我们的人生——读《医务工作者需要学点哲学》有感2600字

让哲学照亮我们的人生——读《医务工作者需要学点哲学》有感2600字: 作者:孙冬梅;以前读韩国前总统朴槿惠的著作《绝望锻炼了我》时,里面有一句话令我印象深刻,她说“在我最困难的时期,...

原创小博客
9分钟前
0
0
JAVA-四元数类

public class Quaternion { private final double x0, x1, x2, x3; // 四元数构造函数 public Quaternion(double x0, double x1, double x2, double x3) { this.x0 = ......

Pulsar-V
27分钟前
12
0
Xshell利用Xftp传输文件,使用pure-ftpd搭建ftp服务

Xftp传输文件 如果已经通过Xshell登录到服务器,此时可以使用快捷键ctrl+alt+f 打开Xftp并展示Xshell当前的目录,之后直接拖拽传输文件即可。 pure-ftpd搭建ftp服务 pure-ftpd要比vsftp简单,...

野雪球
28分钟前
1
0
Confluence 6 文档主题合并问答

在 Confluence 官方 前期发布的消息 中,文档主题在 Confluence 6.0 及其后续版本中已经不可用。我们知道你可能对这个有很多好好奇的问题,因此我们在这里设置了一个问答用于帮助你将这个主题...

honeymose
今天
2
0
java框架学习日志-2

上篇文章(java框架学习日志-1)虽然跟着写了例子,也理解为什么这么写,但是有个疑问,为什么叫控制反转?控制的是什么?反转又是什么? 控制其实就是控制对象的创建。 反转与正转对应,正转...

白话
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部