今天我向公司前辈提出个弱鸡问题:
公司一个项目前端需要上传.txt,.pdf,.doc类型的文件,但是我看代码看了好久,输入文件使用的<input>标签
image.png
js部分直接使用$('XXX')[0].file[0]获取并传给后台。
image.png
控制台打印输出,文件内容还真的传过去了
后台并没有什么关于字符流,字节流上传文件的动西,反而是直接用MultipartFile接收的file 给了逻辑层。这点很让我费解。
image.png
找了半天没发现为什么会就这样传过去了,是不是别的地方调了什么方法....直到后来才明白input有个属性叫“type=file”,它可以直接上传文件格式的信息。
html input标签type属性值(包括html 5新增的type值)
值 描述
button |定义可点击的按钮(大多与 JavaScript 使用来启动脚本)
checkbox | 定义复选框。
color | 定义拾色器。
date | 定义日期字段(带有 calendar 控件)
datetime | 定义日期字段(带有 calendar 和 time 控件)
datetime-local |定义日期字段(带有 calendar 和 time 控件)
month |定义日期字段的月(带有 calendar 控件)
week |定义日期字段的周(带有 calendar 控件)
time |定义日期字段的时、分、秒(带有 time 控件)
email |定义用于 e-mail 地址的文本字段
file |定义输入字段和 "浏览..." 按钮,供文件上传
hidden |定义隐藏输入字段
image |定义图像作为提交按钮
number |定义带有 spinner 控件的数字字段
password |定义密码字段。字段中的字符会被遮蔽。
radio |定义单选按钮。
range |定义带有 slider 控件的数字字段。
reset |定义重置按钮。重置按钮会将所有表单字段重置为初始值。
search |定义用于搜索的文本字段。
submit |定义提交按钮。提交按钮向服务器发送数据。
tel |定义用于电话号码的文本字段。
text |默认。定义单行输入字段,用户可在其中输入文本。默认是 20 个字符。
url |定义用于 URL 的文本字段。