Bre*_*eal 4 javascript java base64 json angularjs
我正在尝试解码由以下生成的字符串:
Javascript代码:
fileReader.readAsDataURL(fileToLoad);
Run Code Online (Sandbox Code Playgroud)
Ps.:它是编码文件的一部分。
获取文件编码后,我将其放入 Json 并使用 POST 方法发送到 restfull 服务。
Java代码(restfull):
String radiationFilePath = json.getString("radiationFilePath");
String newRadFile = radiationFilePath.replace("\\", ""); \\I read that it is a needed because JsonObject add some '\'
byte[] radiationFileAsBytes = Base64.getDecoder().decode(newRadFile);
Run Code Online (Sandbox Code Playgroud)
这样做,我收到一个异常:
java.lang.IllegalArgumentException: 非法 base64 字符 3a
我该怎么办?
PS.: 我使用 Maven 导入依赖项
小智 5
实际上我只是遇到了同样的问题。这就是我解决它的方法。
首先你不需要这样做: String newRadFile =radiationFilePath.replace("\", "");
但你必须改为 String newRadFile =radiationFilePath.split(",")[1]
为了解决它,我只是使用了org.apache.commons.codec.binary.Base64 中的byte[] data = Base64.decodeBase64(newRadFile)而不是 Base64.getDecoder().decode(newRadFile);
然后,如果你想从你的字节数组创建一个文件,你可以使用FileUtils.writeByteArrayToFile(new File("test.jpg"), data)来自org.apache.commons.io.FileUtils ;
希望它有所帮助,阿德里安。
| 归档时间: |
|
| 查看次数: |
2610 次 |
| 最近记录: |