node.js含有%百分号时,发送get请求时浏览器地址自动编码的问题


发布者 ourjs  发布时间 1570672932287
关键字 JS学习  JavaScript 
目前浏览器会对地址,进行编码,比如这个文件名:
sales\报表.png
在发到后台时,会自动编码成:
/file/view/sales/%E6%8A%A5%E8%A1%A8.png

在node.js会自动反编码成:
sales\报表.png

不过如果文件名中含有%百分号,编码过程则会出现问题,如

sales\报%表.png

发送到node.js接收到的自动编码数据:
/file/view/sales/%E6%8A%A5%%E8%A1%A8.png

%E6%8A%A5%%E8%A1%A8.png 因为中间的百分号没有自动编码,然后导致node.js自动解码失败。

解决方案


含有百分号时,先在前端手动编码
encodeURIComponent('报%表.png')

此时%会编码成%25,
%E6%8A%A5%25%E8%A1%A8.png

发送到后台,解码正常。









 热门文章 - 分享最多
  1. Node.JS枚举统计当前文件夹和子目录下所有代码文件行数
  2. node.js函数如何获取调用者的文件目录路径: 用callsite获取错误堆栈的每一层文件名及路径
  3. 在Windows平台上用命令行创建tar.gz压缩包和解压
  4. 华为鸿蒙操作系统想要取代Android几乎不太可能
  5. 树莓派ARM开发板使用TF卡启动和系统安装到EMMC启动,硬盘存储读写速度对比测试
  6. Node.JS用纯JavaScript生成图片或滑块式验证码

 相关阅读
  1. Facebook发布全新JavaScript引擎Hermes:越来越像Java字节码,JS要统一全端?
  2. 让pre和textarea等HTML元素去掉滚动条自动换行自适应文本内容高度
  3. Node.JS的竞争对手?QuickJS入门教程,使用os模块读写文件,并将JavaScript编绎成可执行文件
  4. 在嵌入式设备树莓派上编译QuickJS教程:一个C语言编写的极简JavaScript引擎
  5. 使用JavaScript的Proxy监听对象属性变化并进行类public/private的访问控制
  6. JavaScript求一个字符串的字节长度
  7. Node.JS用RSA签名算法公钥加密私钥解密,实现License软件授权验证
  8. Node.JS借助OS模块获取当前Windows系统用户登录名
  9. JavaScript中将字符串true或false转换成Boolean类型
  10. jQuery用$.prop,$.attr方法来获取或设置checkbox当前选中状态

  开源的 OurJS
OurJS开源博客已经迁移到 OnceOA 平台。

  关注我们
扫一扫即可关注我们:
OnceJS

OnceOA