-
web 实战-10-springboot CommonsMultipartResolver 实现文件上传
后续-文件编码错误
后来发现只是文件名称对了,但是内容不对。
本质上还是说本来是 utf8 的字节流,被强制转换成了 iso 编码。
源码分析
默认 springboot 的文件上传使用的是 CommonsFileUploadSupport 类。
这里有一段关于编码的内容:
protected String getDefaultEncoding() {
String encod...
2020-08-28 02:37:20 |
web
-
web 实战-10-HTTP post 请求中文乱码
场景
页面 form 表单,post 提交。
然后 jsp 去接受,结果发现中文乱码。
解决方案
尝试1
设置 request 接受编码
request.setCharacterEncoding("utf-8");
发现没有效果
尝试2
去乱码的部分尝试解码:
value = java.net.URLDecoder.decode(value,"UTF-8");
发现...
2020-08-28 02:37:20 |
web
-
web 实战-10-HTTP post 请求发送文件信息
背景
前面几节谈到,通过前端指定 form 表单,然后后端直接解析。
前后端分离的时候,这个问题就会变得比较麻烦。
不过这里又有了一个新的问题,如果我想通过 post 请求调用其他服务器,传递文件信息,应该怎么办呢?
思路1
前端通过 jsp 或者 contoroller,将文件上传到文件服务器。
然后通过比较简单的参数传递调用后端。
思路2:HTTP 请求模拟
如果要用ja...
2020-08-28 02:37:20 |
web
-
web 实战-09-springboot 文件上传最大大小限制
springboot 全局异常
import com.alibaba.fastjson.JSON;
import com.huifu.hongpos.profit.application.constants.Constant;
import com.huifu.hongpos.profit.application.constants.RespCode;
import io.undertow...
2020-08-28 02:37:20 |
web
-
web 实战-08-EXCEL 文件导出下载的几种方式
背景
对于文件的上传下载是非常常见的需求。
拓展阅读:
excel 导出最佳实践
那么文件下载有哪几种方式呢?
方式1:后端同步返回
说明
前端调用后端,后端直接获取文件流,然后同步返回。
示例代码
@GetMapping(value = "/download")
@CrossOrigin
@ResponseBody
public String download(@Requ...
2020-08-28 02:37:20 |
web
-
web 实战-08-ajax 请求下载文件没有效果
背景
使用 ajax 直接下载文件,发现前后端调用都是正常的,但是前端并没有按照预期下载文件。
下面做下记录,避免以后重复采坑。
最简单的下载
前端
下载:<a href="download?filename=新建文本文档.txt">新建文本文档.txt</a>
后盾
/**
* 实现文件下载
*
* @param request 请求
* ...
2020-08-28 02:37:20 |
web
-
web 实战-07-File Compress 文件压缩 java 实现
背景
有时候网络传输中,我们首先需要对文件进行压缩。
压缩算法也是多种多样,此处演示最常用的 zip 压缩方式。
java 实现
maven 依赖
<dependency>
<groupId>org.apache.ant</groupId>
<artifactId>ant</artifactId>
<versi...
2020-08-28 02:37:20 |
web
-
web 实战-06-字符编码(Character encoding)详解
问题
写代码的时候,一旦遇到乱码真的是心烦意乱。
彻底搞清楚各个编码之间的关系,也是 web 开发的一项基础技能。
主要问题
gbk
utf-8
gb2312
Unicode
什么是编码
定义
编码是信息从一种形式或格式转换为另一种形式的过程;解码则是编码的逆过程。
字符编码
字符编码(Character encoding)是一套法则,使用该法则能够对自然语言的字符的...
2020-08-28 02:37:20 |
web