网站建设需要学什么,wordpress主题移动,wordpress is_terms,电子商务从事什么工作文章目录 1 前言2 Maven 依赖3 下载接口4 如何返回文件#xff1f;5 感谢 1 前言 专栏上一篇#xff0c;写了如何使用 javax.ws.rs 上传文件#xff0c;那么必然的#xff0c;我们得再学习学习如何下载文件#x1f600;
2 Maven 依赖 这个就不赘述了#xff0c;和上一篇… 文章目录 1 前言2 Maven 依赖3 下载接口4 如何返回文件5 感谢 1 前言 专栏上一篇写了如何使用 javax.ws.rs 上传文件那么必然的我们得再学习学习如何下载文件
2 Maven 依赖 这个就不赘述了和上一篇文件上传的 Maven 依赖一样。
3 下载接口
import javax.ws.rs.*;
import javax.ws.rs.core.MediaType;Path(/test)
public interface TestController {GETPath(download)Consumes(MediaType.APPLICATION_FORM_URLENCODED)Response download(QueryParam(paramOne) String paramOne,QueryParam(paramTwo) String paramTwo);
}4 如何返回文件
import org.springframework.util.Assert;
import javax.ws.rs.core.Response;public class TestService {public Response download(String paramOne, String paramTwo) {try {Assert.hasText(paramOne, paramOne 不能为空);Assert.hasText(paramTwo, paramTwo 不能为空);// 具体的业务逻辑, 产生了个文件File file doSomethingThenGetAFile();String fileName text测试文件.txt;// URL 编码, 因为有中文this.urlEncodeFilename(fileName);return Response.ok().entity(file).header(Content-disposition, attachment;filename*utf-8 fileName).header(Content-Type, text/plain).encoding(utf-8).build();} catch (Exception e) {logger.error(下载文件出现异常, e);return Response.ok().entity(JsonResult.fail(e.getMessage())).header(Content-Type, application/json).encoding(utf-8).build();}}/*** 对 filename 进行 URL 编码** param filename 文件名* return 编码后的文件名*/public String urlEncodeFilename(String filename) {try {return URLEncoder.encode(filename, StandardCharsets.UTF_8.name());} catch (UnsupportedEncodingException e) {log.error(对文件名 {}, 进行 URL 编码时, 出现异常 {}, filename, e.getMessage());throw new RuntimeException(对文件名 filename , 进行 URL 编码时, 出现异常, e);}}
}5 感谢 感谢阅读~ 如有错误之处请帮忙指正~