文章来源于网络收集而来,版权归原创者所有,如有侵权请及时联系!
文件上传与下载 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");
}
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论