jfinal 文件上传下载
来源:互联网 发布:爱奇艺出品的网络剧 编辑:程序博客网 时间:2024/06/07 09:44
import com.alibaba.fastjson.JSONObject;import com.jfinal.core.Controller;import com.jfinal.ext.kit.ZipUtil;import com.jfinal.kit.PathKit;import com.jfinal.upload.UploadFile; import java.io.*;import java.text.SimpleDateFormat;import java.util.Arrays;import java.util.Collections;import java.util.Date;import java.util.List; public class FileController extends Controller{ public void upload() { String path = new SimpleDateFormat("yyyy/MM/dd").format(new Date()); UploadFile file = getFile("imgFile", PathKit.getWebRootPath() + "/temp"); File source = file.getFile(); String fileName = file.getFileName(); String extension = fileName.substring(fileName.lastIndexOf(".")); String prefix; if(".png".equals(extension) || ".jpg".equals(extension) || ".gif".equals(extension)){ prefix = "img"; fileName = generateWord() + extension; }else{ prefix = "file"; } JSONObject json = new JSONObject(); try { FileInputStream fis = new FileInputStream(source); File targetDir = new File(PathKit.getWebRootPath() + "/" + prefix + "/u/" + 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(); json.put("error", 0); json.put("url", "/" + prefix + "/u/" + path + "/" + fileName); source.delete(); } catch (FileNotFoundException e) { json.put("error", 1); json.put("message", "上传出现错误,请稍后再上传"); } catch (IOException e) { json.put("error", 1); json.put("message", "文件写入服务器出现错误,请稍后再上传"); } renderJson(json.toJSONString()); } public void download(){ String path = getPara(0); String img = PathKit.getWebRootPath() + "/img/u/" + path.replaceAll("_", "/"); ZipUtil.zip(img, PathKit.getWebRootPath() + "/img/temp/" + path); renderFile("/img/temp/" + path + ".zip"); } 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; }
原文地址:http://www.oschina.net/code/snippet_2255303_43121
0 0
- jfinal 文件上传下载
- JFinal文件上传下载
- jfinal文件上传下载
- 5.jfinal上传下载文件
- 文件上传下载
- 文件上传下载
- 上传下载文件
- 文件上传下载
- 文件上传下载
- 文件上传下载
- 文件上传下载
- 文件上传下载
- 文件上传下载
- 上传下载文件
- 文件上传下载
- 文件上传下载
- 文件上传下载
- 上传下载文件 .
- POJ 2926 Requirements (多维最远曼哈顿距离)
- div 居中(html5+jquery.mobile)
- PHP empty()
- Java IO流--字节流、File类
- java方法区
- jfinal 文件上传下载
- FFmpeg滤镜文档-使用指南
- bootstrap 判断设备大小改变网格布局
- reverse link list
- JVM调优总结 -Xms -Xmx -Xmn -Xss
- android 标签页<include /> 的使用
- wu wen tao推荐博客
- 2015 Multi-University Training Contest 3
- 你想成为50W年薪的优秀产品经理吗?