我有一个基本功能,可以加载文件并返回“ URL安全” base64字符串。
public void getDocumentFromDMS() {
DMS_Handler dms = new DMS_Handler();
// Get the document using the DMS library
dms.getDocument();
// Convert Document to Base64
// TODO for now get the document from the project
try {
InputStream documentInputStream = new FileInputStream("Doxis.pdf");
byte[] documentBytes = IOUtils.toByteArray(documentInputStream);
// Map information to IPP
String base64Document = Base64.getEncoder().encodeToString(documentBytes);
base64Document = URLEncoder.encode(base64Document, "UTF-8"); // This class contains static methods for converting a String to the application/x-www-form-urlencoded MIMEformat
documentData.put("base64Document", base64Document);
System.out.println(Arrays.toString(documentData.entrySet().toArray()));
} catch (IOException e) {
e.printStackTrace();
}
如果我从JUnit测试中调用它,则效果很好,并且图像URL正确。
类似[base64Document=iVBORw0KGgoAAAANSUhEUgAACU
public void testDocument() {
DocumentHandler docHandler = new DocumentHandler();
docHandler.getDocumentFromDMS();
}
但是如果我称它一旦部署在Tomcat中
[base64Document=JVBERi0xLjQKJeLjz9MNCg0KMSAwIG
我看不到页面上的图像。
我已调试,documentBytes
的{{1}}字节不同。
这怎么可能?这是同一个文件。也许编码?