我正在尝试使用此 site 上的说明将图像文件编码为 Base64 字符串。唯一的区别是我有一个 groovy 脚本(而不是 Java),我的整个脚本只是......
@Grapes(
@Grab(group='commons-io', module='commons-io', version='2.6')
)
import org.apache.commons.io.FileUtils
import org.apache.commons.codec.binary.Base64
byte[] fileContent = FileUtils.readFileToByteArray(new File('/Users/me/Test.jpeg'));
String encodedString = Base64.getEncoder().encodeToString(fileContent);
当我运行这个时,我得到以下异常,但不明白为什么......
groovy.lang.MissingMethodException:
No signature of method: static org.apache.commons.codec.binary.Base64.getEncoder() is applicable for argument types: () values: []
Possible solutions: encode([B), encode(java.lang.Object)
最佳答案
您正在导入org.apache.commons.codec.binary.Base64
。
使用Base64.getEncoder().encodeToString(fileContent)
,您正在调用java.util.Base64
,它具有除org.apache 之外的方法。 commons.codec.binary.Base64
.
由于 java.util.*
是 Groovy 的默认导入之一,因此当您删除 import org.apache.commons.codec.binary.Base64
时,您的代码应该可以工作。
关于java - 使用 Apache Commons 在 Groovy 中对图像文件进行 Base 64 编码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56078328/