7、play中的文件上传

1、基本的文件上传处理

将form的类型设置成multipart/form-data,请求的方式必须是POST类型,实例如下:

请求发到controller,controller中处理: 

public Result upload() {MultipartFormData<TemporaryFile> body = request().body().asMultipartFormData();MultipartFormData.FilePart<TemporaryFile> picture = body.getFile("picture");// 直接转成File,然后进行处理File file = (File)picture.getFile();// 也可以通过下边的方式进行操作if (picture != null) {String fileName = picture.getFilename();long fileSize = picture.getFileSize();String contentType = picture.getContentType();TemporaryFile file = picture.getFlie();file.copy(new File(“路径”));return ok("File uploaded");}}

2、AJAX异步上传表单文件

在这种情况下,请求主体不会被编码为multipart/form-data数据,而是只包含纯文件内容。此时可以使用另一种方式进行处理:

3、流式文件上传解析器

Multipart/form-data指定的上载从请求中获取上载的数据,并将其放入临时文件对象中,可以通过使用multipartformDataBodyParser类将multipart.fileinfo信息流式传输到另一个类:

此内容在multipartformDataBodyParser文件中

4、清理临时文件

在conf/application.conf中进行配置,应用启动5分钟后开始检测并删除应用中的上传时间超过了30分钟的临时文件,此任务每30秒走一次:

play.temporaryFile {reaper {enabled = trueinitialDelay = "5 minutes"interval = "30 seconds"olderThan = "30 minutes"}}

这里有一个疑问,如何限制上传文件的大小呢?

可以在提交时进行校验,也可以通过限制请求体解析器需要用到的缓冲区大小进行控制

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/321485.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

分布式高性能消息处理中心HPMessageCenter

HPMessageCenter高性能消息分发中心。用户只需写好restful接口&#xff0c;在portal里面配置消息的处理地址&#xff0c;消息消费者就会自动访问相关接口&#xff0c;完成消息任务。&#xff08;其实HPMessageCenter有两个版本&#xff0c;这次开源的是第二个版本。在第一个版本…

8、play框架中持久层操作

1、使用jdbc连接数据库 1、1 简介 JDBC是一个阻塞操作&#xff0c;它将导致线程等待&#xff0c;直接使用JDBC进行查询将导致性能降低 1、2 配置数据源 play提供了一个用于管理JDBC连接池的插件&#xff0c;可以根据需要配置任意多个数据库&#xff0c;想要使用此插件&…

DBCHM-最简单、实用的数据库表列批注维护工具

DBCHM支持SqlServer/MySql/Oracle/PostgreSQL/Sqlite等数据库的表列批注维护管理。DBCHM有以下几个功能表&#xff0c;列的批注可以编辑保存到数据库。表&#xff0c;列的批注支持通过pdm文件导入的方式进行更新到数据库。基于数据库中的表列结构(列ID/列名/数据类型/长度/精度…

浅谈Log4net在项目中如何记录日志

一 引入背景在软件开发周期中&#xff0c;无论是开发中&#xff0c;或是测试中&#xff0c;或是上线后&#xff0c;选择合适的工具监控程序的运行状态至关重要&#xff0c;只有如此&#xff0c;才能更好地排查程序问题和检测程序性能问题等。本篇文章主要与大家分享&#xf…

9、play中缓存的使用

1、简介 对于存储在缓存中的任何数据&#xff0c;都需要放置一个再生策略&#xff0c;以防数据丢失。这一理念是play基本原则之一。对于进程内缓存&#xff0c;Caffeine 通常是最佳选择。如果需要分布式缓存&#xff0c;play提供了Memcached和Redis的第三方插件。 2、添加缓存…

10、使用ws调用Rest api

目录 1、简介 2、添加WS配置 3、发送请求 4、处理请求 5、常用模式和用例 6、自定义BodyReadables和BodyWritables 6、独立WS 7、访问AsyncHttpClient 8、配置WS 1、简介 有时我们想从一个play应用程序中调用其他HTTP服务。Play提供了WS库来进行异步HTTP方法调用。 …

拥抱开源,Office 365 开发迎来新时代

前言作为全球最大的开放源代码托管平台&#xff0c;Github在上周迎来了它的十岁生日。自从2008年正式上线以来&#xff0c;Github上面汇聚了数以千万计的开发人员和各种项目&#xff0c;它几乎成为了开源的代名词和风向标&#xff0c;各大软件巨头都纷纷支持&#xff0c;在广大…

11、OAuth和OpenID服务

1、OAuth 1、1 简介 OAuth是发布受保护数据并与之交互的简单方法。对于人们来说&#xff0c;这也是一种更安全的访问方式。例如&#xff0c;它可以用来访问你的用户在Twitter上的数据。Play仅提供对OAuth 1.0的支持。 1、2 基本工作原理 在build.sbt中添加配置&#xff1a;…

求凸函数极值 CSF迭代法(雾)

简介 本算法用来求解凸函数极值点的问题&#xff0c;由我在写ACM习题时想到&#xff0c;在网上并未找到这样的算法&#xff0c;拿出来给大家分享一下&#xff0c;如果网上没有的话&#xff0c;我决定给它起名叫做 CSF迭代法&#xff0c;如果这个算法早已经存在&#xff0c;那就…

12、play整合Akka

1、简介 Akka使用actor模型来提高抽象级别&#xff0c;并提供一个更好的平台来构建正确的并发和可扩展的应用程序。在容错方面&#xff0c;它采用了“Let it crash”的模式&#xff0c;这种模式在电信行业获得了巨大成功&#xff0c;用于构建永不停止的自我修复系统应用程序。…

ASP.NET Core 添加统一模型验证处理机制

一.前言模型验证自ASP.NET MVC便有提供&#xff0c;我们可以在Model(DTO)的属性上加上数据注解&#xff08;Data Annotations&#xff09;特性&#xff0c;在进入Action之前便会根据数据注解&#xff0c;来验证输入的数据是否合法&#xff0c;下面介绍以下如何统一处理验证并返…

13、play中实现信息国际化

目录 1、指定应用使用的语言 2、语言配置文件 3、在Controller中使用 4、在模板中使用 5、改变当前请求的语言 6、格式化信息 1、指定应用使用的语言 在conf/application.conf中进行配置&#xff1a; 这些语言标记将用于创建play.i18n.Lang实例。要访问应用程序支持的语…

讨论过后而引发对EF 6.x和EF Core查询缓存的思考

前言最近将RabbitMQ正式封装引入到.NET Core 2.0项目当中&#xff0c;之前从未接触过这个高大上的东东跟着老大学习中&#xff0c;其中收获不少&#xff0c;本打算再看看RabbitMQ有时间写写&#xff0c;回来后和何镇汐大哥探讨了一点关于EF和EF Core的内容&#xff0c;于是乎本…

CF297E-Mystic Carvings【树状数组】

正题 题目链接:https://www.luogu.com.cn/problem/CF297E 题目大意 2∗n2*n2∗n个点的圆&#xff0c;nnn条圆上不交的弦&#xff0c;选择三条使得每条弦对应的弧上的点数量相等。 解题思路 就这5种情况&#xff0c;其中满足条件的是222和555&#xff0c;我们用容斥去掉1,3,41,…

14、使用play搭建一个web应用用例

目录 1、play下载 2、启动play项目 3、将项目导入到eclipse 4、play项目中前端开发 5、添加bootstrap ace页面模板 1、play下载 找到官网&#xff0c;直接下载即可 2、启动play项目 解压文件&#xff0c;进入到项目顶级目录 等一会&#xff0c;下载jar包&#xff0c;第一…

EF Core 2.0使用MsSql/Mysql实现DB First和Code First

环境Visual Studio 2017 最新版本的.NET Core 2.0 SDK最新版本的 Windows PowerShell开始搭建1、在 Visual Studio 2017 中创建新项目“文件”>“新建”>“项目”从左侧菜单中选择“已安装”>“模板”>“Visual C#”>“.NET Core”。选择“ASP.NET Core Web 应用…

基于SSM+JBPM的智能化OA办公平台

目录 1、项目介绍 2、业务架构和技术架构 3、数据模型 4、界面展示 写在前面&#xff1a;如果有小伙伴儿想获取智能化OA办公平台管理系统的对应源码和数据表结构&#xff0c;可以关注博主然后给博主发私信哟。 1、项目介绍 本项目是一款智能化OA办公平台&#xff0c;其目的…

森近林之助【字符串处理】

森近林之助森近林之助森近林之助 题目大意 输入n个字符串&#xff0c;每一位总共要出现两个“1”&#xff0c;一个“0”&#xff0c;求最少要加多少个字符串才能满足条件 解题思路&#xff1a; 这题就是将每一位出现“1”和“0”的次数加在一起&#xff0c;看每一位缺多少个…

EFCore2.0@Xamarin.Forms

由于忙于Xamarin的书的创作很久没有和大家见面了&#xff0c;回到博客我会陆续更新一些最新的Xamarin技术&#xff0c;还有最近一直在努力的人工智能相关知识。话说csdn的博客改版了。总觉得变化是好事情啊。 这篇博客&#xff0c;我想和大家说说EFCore&#xff0c;在.NET…

花生采摘

花生采摘花生采摘花生采摘 题目描述 鲁宾逊先生有一只宠物猴&#xff0c;名叫多多。这天&#xff0c;他们两个正沿着乡间小路散步&#xff0c;突然发现路边的告示牌上贴着一张小小的纸条&#xff1a;“欢迎免费品尝我种的花生&#xff01;——熊字”。 鲁宾逊先生和多多都很…