resty upload无需依赖的文件上传与下载
作者:dreampie 发布时间:2023-01-17 14:54:31
标签:resty,upload,无依赖,文件上传,文件下载
1. 文件上传
a. 看看@FIEL注解的属性
/**
* 上传文件时使用该注解 设置文件相关参数
*/
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.METHOD)
@Documented
public @interface FILE {
String dir() default "";//文件上传的目录
boolean overwrite() default false;//遇到同名文件是否覆盖,适合客户端控制文件名
Class<? extends FileRenamer> renamer() default DefaultFileRenamer.class;//对文件名字进行重命名处理
int max() default -1;//上传的大小限制,默认最大10M
String encoding() default "";//文件编码格式
String[] allows() default {}; //file content type eg. text/xml 允许上传的文件类型
}
b. 在application.properties设置上传的默认值
app.uploadDirectory=/upload/
#单位为b 如10M=1024*1024*10
app.uploadMaxSize= n
#拒绝上传的文件mime类型多个逗号分割
app.uploadDenieds=text/xml,text/csv
c. 在服务端使用@FILE注解来接收文件流数据
//上传文件
@POST
@FILE(dir="文件上传目录",overwrite=同名是否覆盖<适合客户端控制文件名>,renamer=继承FileRenamer class的对文件重命名的工具类 ,max=上传文件最大限制默认10m,encoding="文件编码",allows={"允许上传的文件类型如:text/xml"})
public UploadedFile upload(String filename, UploadedFile testfile, String des) {
//注意UploadedFile 参数的名字 需要和input的name对应
//如 <input type="file" name="x"> 用UploadedFile x来接收文件
//如果上传多个文件,使用Map<String,UploadedFile> files来接收所有的文件,key为input的name x
System.out.println(des);
return testfile;
}
2. 文件下载
a. 直接通过return file来向客户端输出文件
//下载文件 支持断点续传
@GET
public File download() {
return new File(getRequest().getRealPath("/") + "upload/resty.jar");
}
来源:https://dreampie.gitbooks.io/resty-chs/content/file.html


猜你喜欢
- 我们肯定遇到过打开别人的项目时一直处于Building‘XXX'Gradle project info的情况。本文通过两种方法带领大
- 本文实例为大家分享了C#通过NPOI导入导出数据EXCEL的具体代码,供大家参考,具体内容如下其实从数据库到服务器导入导出有很多方法,但是比
- 1. 认识ZoneZone像一个沙盒,是我们代码执行的一个环境。我们的main函数默认就运行在Root Zone当中。子Zone的构造有点像
- 本文实例为大家分享了Android实现页面滑动切换动画的具体代码,供大家参考,具体内容如下实现两个页面滑动切换,一些相册的效果也是如此一个A
- 1、spring 框架解决字符串编码问题:过滤器 CharacterEncodingFilter(filter-name)2、在web.xm
- 本文为大家分享了Unity制作签名功能的具体代码,供大家参考,具体内容如下前言:项目中需要做一个签名的功能,同时需要两个两个屏幕进行显示,但
- 上了这么多年学,我发现一个问题,好象老师都很喜欢点名,甚至点名都成了某些老师的嗜好,一日不点名,就饭吃不香,觉睡不好似的,我就觉得很奇怪,你
- 一、连接数据库的配置单独放在一个properties文件中之前,我们是直接将数据库的连接配置信息写在了MyBatis的conf.xml文件中
- 我就废话不多说了,大家还是直接看代码吧~package com.cloudtech.web.util; import java.io.Buf
- Java连接SQLServer 2008数据库的步骤:1.到微软官方下载jdbc 并解压,得到sqljdbc.jar和sqljdbc4.ja
- 为什么需要 StreamStream 作为 Java 8 的一大亮点,它与 java.io 包里的 InputStream 和 Output
- springboot跳转到指定页面controller的写法必须是templates下面的页面,不经过配置,无法直接跳转到public,st
- 题目:使用struts2自定义 * ,完成用户登陆才能访问权限的实现在session中存放user变量表示用户登陆,若user为空则用户没有
- 为了能正常输出XML格式的内容,必须要对不被XML允许的那些特殊字符进行转换。本文介绍的正是如何使用C#判断XML字符串是否含特殊字符并进行
- 使用 try/catch 处理异常try-catch 块的用途是捕捉和处理工作代码所生成的异常。 有些异常可以在 catch 块中处理,解决
- 目录1.加载本地Word2.以只读模式加载Word3.从流加载Word【程序环境】Windows 10Visual Studio 2017W
- 我就废话不多说了,大家还是直接看代码吧~/** * feign调用客户端 */@FeignClient(name = "user&
- 公司产品需要一个雷达图来展示各维度的比重,网上找了一波,学到不少,直接自己上手来撸一记无图言虚空简单分析一波,确定雷达图正几边形的--正五边
- Future和Promise执行回调Netty中的Future, 其实类似于jdk的Future, 用于异步获取执行结果Promise则相当
- java 多线程的几种实现方法总结1.多线程有几种实现方法?同步有几种实现方法?多线程有两种实现方法,分别是继承Thread类与实现Runn