diff --git a/engine/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/api/HTMLServerImageHandler.java b/engine/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/api/HTMLServerImageHandler.java
index a162542ef5..2d0fe26d72 100644
--- a/engine/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/api/HTMLServerImageHandler.java
+++ b/engine/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/api/HTMLServerImageHandler.java
@@ -87,7 +87,7 @@ public String onDocImage(IImage image, Object context) {
public String onURLImage(IImage image, Object context) {
assert (image != null);
String uri = image.getID();
- if (uri.startsWith("http:") || uri.startsWith("https:")) {
+ if (uri.startsWith("http:") || uri.startsWith("https:") || uri.startsWith("data:")) {
return uri;
}
return handleImage(image, context, "uri", true); //$NON-NLS-1$
diff --git a/engine/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/util/FileUtil.java b/engine/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/util/FileUtil.java
index 70fab1a1c0..fbd519f3d6 100644
--- a/engine/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/util/FileUtil.java
+++ b/engine/org.eclipse.birt.report.engine/src/org/eclipse/birt/report/engine/util/FileUtil.java
@@ -47,8 +47,8 @@ public class FileUtil {
* The HashMap
object that stores image type/file extension
* mapping.
*/
- private static HashMap fileExtension = new HashMap();
- private static HashMap mimeType = new HashMap();
+ private static HashMap fileExtension = new HashMap();
+ private static HashMap mimeType = new HashMap();
static {
// initialize fileExtension
@@ -183,7 +183,7 @@ public static String getExtFromFileName(String fileName) {
* resource.
*/
public static boolean isLocalResource(String uri) {
- return uri != null && uri.length() > 0 && !uri.toLowerCase().startsWith("http"); //$NON-NLS-1$
+ return uri != null && uri.length() > 0 && !uri.toLowerCase().startsWith("http") && !uri.toLowerCase().startsWith("data"); //$NON-NLS-1$
}
/**
@@ -264,17 +264,17 @@ public static boolean saveFile(File targetFile, byte[] data) {
* @return File extension string say, ".jpg".
*/
public static String getExtFromType(String fileType) {
- return (String) fileExtension.get(fileType);
+ return fileExtension.get(fileType);
}
/**
* Gets the Image file mime type according to the given file extension.
*
- * @param fileType The image file type say, ".jpg".
+ * @param imgExt The image file type say, ".jpg".
* @return File extension string say, "image/jpg".
*/
public static String getTypeFromExt(String imgExt) {
- return (String) mimeType.get(imgExt);
+ return mimeType.get(imgExt);
}
/**
@@ -346,6 +346,11 @@ public static byte[] getFileContent(String fileName) {
return null;
}
+ /**
+ * Delete the directory content
+ *
+ * @param file name of the directory
+ */
public static void deleteDir(File file) {
if (file.isDirectory()) {
String[] list = file.list();
@@ -358,6 +363,11 @@ public static void deleteDir(File file) {
file.delete();
}
+ /**
+ * Get the java directory of temporary files
+ *
+ * @return Return the java directory of temporary files
+ */
public static String getJavaTmpDir() {
return System.getProperty("java.io.tmpdir");
}