Play框架文件上传
最近正在使用Play框架搭建项目,做到图片上传部分有一些问题,所以记录一下解决情况
1. Play框架的文件上传简介
Play框架处理了HTTP文件上传,我们只需要调用就好了。上传的图片会首先缓存在tmp目录中,然后会在data/attachments/目录下生成一个图片文件,文件名的形式为一串UUID但是没有后缀名。
2. Models创建
Play框架利用play.db.jpa.Blob类型来存储图片,所以Models中用于图片上传需要有两个成员变量:
1.用于保存文件名的String
2.用于保存图片的Bolb
@Entity(name = "houses")
public class Houses extends Model {// 主图public String mainimg;//主图的Boldpublic Blob mainimgblob;
}
3. 图片上传
<!--上传图片-->
<label class="back-upbtn color1"><i class="bg w-upimg-ico1"></i>本地上传<input type="file" id="file_upload" name="mainimgFile">
</label>
public static void publish( File mainimgFile) throws FileNotFoundException {// ************主图文件上传开始****************// 获取上传文件的名称houses.mainimg = mainimgFile.getName();houses.mainimgblob = new Blob();houses.mainimgblob.set(new FileInputStream(mainimgFile),MimeTypes.getContentType(mainimgFile.getName()));// ************主图文件上传结束*************************index();
}
注意: 页面file的name要和controller的参数一致
4. 图片显示
#{list items:house, as:'house'}<img title="${house.mainimg}" src="@{housePhoto(house.id)}">#{/list}
/** 跳转到图片上传测试页面*/public static void totest() {Houses house = new Houses();house.id = (long) 12;//传一个house,house里保存了id,mainimg和mainimgblobrender("newhouse/test.html",house);}/** 图片显示*/public static void housePhoto(long id) {final Houses house = Houses.findById(id);notFoundIfNull(house);response.setContentTypeIfNotSet(house.mainimgblob.type());renderBinary(house.mainimgblob.get());}
向页面传递一个house,调用图片显示的方法就能获取house里面的blob,然后就能显示图片了
还可以参考官方示例:
http://www.jianshu.com/writer#/notebooks/8096021/notes/7355251/preview
Play框架文件上传相关推荐
- 雷林鹏分享:codeigniter框架文件上传处理
CodeIgniter 框架input表单的重新填充,主要是针对text.radio.checkbox.select等input表单,那么对于文件上传表单file该如何处理呢? 自己的处理方式: // ...
- 使用php框架文件上传,Laravel框架文件上传功能实现方法示例
本文实例讲述了Laravel框架文件上传功能实现方法.分享给大家供大家参考,具体如下: 以Laravel 5.2.45 框架为主,进行文件上传功能的实现如下: 实现步骤: (1). 配置文件修改 打开 ...
- java spring框架文件上传_spring系列---Security 安全框架使用和文件上传FastDFS
1.Spring Security框架入门 1.1 Spring Security简介 Spring Security是一个能够为基于Spring的企业应用系统提供声明式的安全访问控制解决方案的安全框 ...
- Play框架文件上传Upload、FileUpload类使用详解
最近做一个前后台分离的项目,要用到前端页面传递文件对象给后端,就研究了一下框架中自带的类Upload接口.FileUpload类. 1. 后端的控制器能够接收到play.mvc.Http.Reques ...
- DiskFileUpload + BeanUtils 轻松实现无框架文件上传表单取值
文件上传中form表单的enctype="multipart/form-data" 为二进制文件传输 在struts2中 表单取值比较简单 因为框架已经帮我们做好的表单域的取值 ...
- html上传文件框架,文件上传 - FastAdmin框架文档 - FastAdmin开发文档
文件上传 最后更新时间:2021-01-15 17:29:11 FastAdmin支持将文件.图片.视频.压缩包等文件快速的上传至本地服务器或云存储,同时支持云存储直传模式和服务器进行中转模式. 你可 ...
- CI框架文件上传+多文件上传+文件下载
代码中的logMessage()和Directory()是自己封装的记录日志和递归创建文件夹助手函数 注意修改!!! 点击查看:Directory() logMessage() <?php ...
- tp框架文件上传七牛服务器,TP5开发 - 七牛云图片上传方法
1.config.php配置文件里配置七牛云密钥等 里面 secretKey accessKey domain bucket对应换成自己七牛云申请的, 步骤: (1)七牛云注册成功后-对象存储申请10 ...
- 闲来无事,探究一番若依框架文件上传下载实现原理
前端部分 若依已经封装好了图片和文件上传组件,参照官方文档使用就行 1. 图片上传 <template><div class="component-upload-image ...
- ruoyi框架文件上传之后端代码测试及打印日志
若依提供file上传工具类(可上传文件.图片等),有三个实现类,根据自己的需求选择,该功能可以实现用户上传的文件被存储到相应的磁盘上,并且返回对应的文件路径,以便后续访问下载. 测试: ruoyi打印 ...
最新文章
- MasterPage,Page 2者之间事件的执行顺序
- NoSQL架构实践(二)——以NoSQL为主
- 不使用注解和使用注解的web-service-dao结构
- 在护卫神上部署javaWeb项目,已经测试通过
- lableimg闪退_CV学习笔记(二十五):数据集标注与制作
- dnf加物理攻击的卡片有哪些_DNF:节日宝珠之外百分比神器附魔,拍卖行100w,实用不氪金...
- golang中包互相引用的解决方法
- c++时间函数及转换
- spring 事物配置几种
- Map与Json的相互转化
- 线性时间选择(TOP K)
- 跨平台开发实践之Flutter
- matlab设计椭圆低通滤波器,基于MATLAB的椭圆数字低通滤波器设计.doc
- Cholesky分解
- wampserver安装好后相关的设置和在不同的电脑上测试
- C语言编程>第二十周 ② 下列给定程序中,函数fun的功能是:求出数组中最大数和次最大数,并把最大数和b[0]中的数对调、次最大数和b[1]中的数对调。
- Debian10英语环境安装搜狗输入法
- 华为云在Linux ECS上使用obsutil通过内网访问OBS
- python创建excel新的表格_python创建Excel表格并添加工作表
- 负基础也能搞懂之“Gauss消元法的MATLAB实现”