chrome浏览器上传文件fakepath问题

在Chrome浏览器中,由于安全原因,上传文件时只能获取到fakepath虚拟路径,导致无法直接使用。本文介绍了如何在遇到此问题时,通过直接传递文件对象而非路径来解决问题。在实际操作中,需注意不能将file对象与表单数据一起封装,应分开传递,以避免文件字节流转JSON失败。在Eureka服务间传递文件时,可能需要额外的转换处理。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

chrome浏览器接收到上传文件地址

在这里插入图片描述
IE浏览器可以获取到真实路径

在这里插入图片描述

说是chrome出于安全考虑,搞了个虚拟路径fakepath

我的需求是:
表单上传文件和数据,封装到对象a里传给另一个服务去处理,
现在这个fakepath扔过去就是一个空文件对象,报错

解决:
一顿百度chrome咋拿file真实路径,
其实不用拿路径,拿到也没用,都不在一台服务器上,有路径也取不到文件,
上传的文件spring帮我们生成了一个临时文件
在这里插入图片描述
所以,直接从前台传文件对象

 form.append("file", document.getElementById("file").files[0]);

后台拿到文件对象直接传给另一个服务就可以了

public Response saveLetterManage(@RequestParam(name = "file",required = false) MultipartFile file,@RequestParam("dataParam") String dataParams) {
   }

tip:
1、这里eureka传文件有问题,我做了下转化

	public st
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值