Java中如何将Multipart File接收的Base64数据转为原文件?
嘿,我来帮你搞定这个问题!要把收到的Base64编码数据转回和上传时完全一致的原文件,本质就是把Base64字符串解码成二进制字节流,再保存成文件就行。我给你几种不同场景下的实现方式,你按需选择:
方法1:用系统自带命令行(Linux/macOS)
如果你用的是Linux或macOS,系统自带的base64工具就能快速解决:
- 先把那串Base64编码内容(注意去掉前后的引号)存到一个纯文本文件里,比如命名为
encoded.txt - 打开终端,运行以下命令解码并导出原文件:
base64 -d encoded.txt > original_file.txt
(如果原文件是二进制类型比如图片、压缩包,把original_file.txt改成对应的后缀名就行,比如.png、.zip)
方法2:用Python脚本(跨平台通用)
如果需要跨平台支持或者要集成到代码逻辑里,Python是个省心的选择:
- 新建一个Python脚本,比如
decode_file.py,内容如下:
import base64 # 替换成你收到的Base64编码字符串 encoded_str = "MS4KCkZvciBzZWN1cml0eSByZWFzb24gbXlzcWwgLXUgcm9vdCB3b250IHdvcmsgdW50aWxsIHlvdSBwYXNzIC1wIGluIGNvbW1hbmQgc28gdHJ5IHdpdGggYmVsb3cgd2F5CgogbXlzcWwgLXUgcm9vdCAtcFtFbnRlcl0K" # 解码Base64为二进制数据 decoded_bytes = base64.b64decode(encoded_str) # 保存为原文件,文件名和后缀改成你上传时的名称 with open("original_file.txt", "wb") as f: f.write(decoded_bytes)
- 运行脚本:
python decode_file.py
执行完成后就能得到和原上传文件完全一致的文件了。
方法3:用PowerShell(Windows系统)
Windows用户可以直接用PowerShell处理:
- 打开PowerShell,执行以下命令(把编码字符串替换成你的):
$encodedContent = "MS4KCkZvciBzZWN1cml0eSByZWFzb24gbXlzcWwgLXUgcm9vdCB3b250IHdvcmsgdW50aWxsIHlvdSBwYXNzIC1wIGluIGNvbW1hbmQgc28gdHJ5IHdpdGggYmVsb3cgd2F5CgogbXlzcWwgLXUgcm9vdCAtcFtFbnRlcl0K" $decodedBytes = [Convert]::FromBase64String($encodedContent) Set-Content -Path "original_file.txt" -Value $decodedBytes -Encoding Byte
另外我提前帮你解码了示例中的字符串,原文件内容是:
For security reason mysql -u root wont work until you pass -p in command so try with below way
mysql -u root -p[Enter]
内容的提问来源于stack exchange,提问作者Jack
相关产品推荐
相关产品推荐

