业务场景:
目前有一个需求,网页上保存的图片需要存入公司原有ERP系统(数据库用的sqlserver)。
因为公司原有ERP系统没有源码,故读取数据库图片字段的代码不可动,只能去探索原有ERP读取和存储的图片数据。
经过查询资料和试验,sqlserver的image(图片字段)存储的是byte数组。
开始贴代码
第一版代码如下:
/**
* 保存图片方法
*/
@Autowired
IImageDao imageDao;
public String saveImage() {
String fileUrl = "https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimage.biaobaiju.com%2Fuploads%2F20191102%2F15%2F1572678871-FJUQCwEbVB.jpeg&refer=http%3A%2F%2Fimage.biaobaiju.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg?sec=1627700127&t=261e21873e3904cfc1bd32da723b9b12";
try{
InputStream in= new URL(fileUrl).openStream();
int i = in.available();
byte[] data = new byte[i];
in.read(data);
in.close();
Image image = new Image();
image.setImage(data);
Integer integer = imageDao.saveImage(image);
if (integer>0){
return "保存成功";
}
return "保存失败";
}catch