/**
* 导出url转图片
*/
public class UrlImageConvert implements Converter<String> {
@Override
public WriteCellData<?> convertToExcelData(String value, ExcelContentProperty contentProperty,
GlobalConfiguration globalConfiguration) {
if (ObjectUtils.isEmpty(value)) {
return new WriteCellData<>("");
}
List<String> url = Arrays.asList(value.split(";"));
if (ObjectUtils.isEmpty(url)) {
return new WriteCellData<>("");
}
byte[] file = ImageUtil.readFile(url.get(0));
if (ObjectUtils.isEmpty(file)) {
return new WriteCellData<>("");
}
return new WriteCellData<>(file);
}
}
/**
* 读取文件为字节数据
*
* @param url 地址
* @return 字节数据
*/
public static byte[] readFile(String url) {
InputStream in = null;
try {
// 网络地址
URL urlObj = new URL(url);
if("https".equalsIgnoreCase(url.substring(0, 5))){
SslUtils.ignoreSsl();
}
URLConnection urlConnection = urlObj.openConnection();
urlConnection.setConnectTimeout(30 * 1000);
urlConnection.setReadTimeout(60 * 1000);
urlConnection.setDoInput(true);
in = urlConnection.getInputStream();
return IOUtils.toByteArray(in);
} catch (Exception e) {
e.printStackTrace();
return null;
} finally {
IOUtils.closeQuietly(in);
}
}