浏览器原生控件上传PDF导致hash值不同

用户要求对上传的pdf计算hash排重,上线后发现排重失败

1、postman直接调用接口没有发现问题,每次获取的hash值是一样的

2、apifox网页版,调用接口发现问题,清除缓存后(将选择的文件删除重新选择),就会出现相同文件hash值不同

3、apifox本地安装版本和postman一样没有发现问题

问题:

1、尝试修改Content-Type,各种类型试了一下,包括流方式无效每次hash还是不同

2、发现每次上传时request的Content-Length字段都有微小的长度差别,说明在上传前已经不同了

3、尝试前端算好hash回传,值任然不同

4、用fiddler抓包,发现postman用httpclinet去上传的二进制包和用网页控件在浏览器上传的包除了分隔符不同,网页上传还多了一些pdf相关的描述?

5、尝试将PDF文件的扩展名修改为其他名字,如abc.pdf改成abc.upl,再次使用网页post上传,问题消失,每次hash都一样

6、尝试了在上传前使用j上代码修改文件名后上传,无效。所以应该是网页input file 控件在读取文件时就做了处理

这个不知道是浏览器解析内核就是这样规定的还是bug

相关推荐
励志要当大牛的小白菜34 分钟前
ART配对软件使用
开发语言·c++·qt·算法
qq_5139704437 分钟前
力扣 hot100 Day56
算法·leetcode
PAK向日葵2 小时前
【算法导论】如何攻克一道Hard难度的LeetCode题?以「寻找两个正序数组的中位数」为例
c++·算法·面试
VB5943 小时前
《考研 考证 各学科 各专业 思维导图汇总》PDF 5.2GB
考研·pdf
爱喝矿泉水的猛男4 小时前
非定长滑动窗口(持续更新)
算法·leetcode·职场和发展
YuTaoShao4 小时前
【LeetCode 热题 100】131. 分割回文串——回溯
java·算法·leetcode·深度优先
YouQian7724 小时前
Traffic Lights set的使用
算法
快乐飒男5 小时前
哈希表(c语言)
c语言·哈希算法·散列表
go54631584656 小时前
基于深度学习的食管癌右喉返神经旁淋巴结预测系统研究
图像处理·人工智能·深度学习·神经网络·算法
aramae6 小时前
大话数据结构之<队列>
c语言·开发语言·数据结构·算法