
# V5.0.002版本升级关于第三方包的说明
**
升级前注意事项**
因苍穹&星瀚在V4.0.012版本对第三方包进行了全面升级,所以:
若从V4.0.012之前版本升级到V5.0.002版本,请先阅读:[V4.0.012版本升级说明](https://vip.kingdee.com/article/252025899686989824?productLineId=29&isKnowledge=2)
若从 V4.0.012版本及之后版本升级到V5.0.002版本,则直接阅读本篇说明。
本次苍穹&星瀚升级涉及到图片服务器安全整改对二开影响较大,请关注!
## 一、 图片服务器安全整改
由于历史原因,以前版本图片服务器需要独立配置外网地址(即mc中的fileserver属性),并允许任意访问,部分图片相关的场景依赖了该特性。由于安全的要求,苍穹和星瀚在V5.0.002版本进行了整改,图片相关的访问只能通过苍穹本身的url(如https://域名/ierp//attachment/downloadImage/**)进行访问。
所以,运维上后续会将图片服务器的外网地址以及nginx相关配置删除,彻底解决安全隐患。
此次变动,有可能会对二开的代码产生影响,如果二开代码原来使用图片外网地址进行相应开发,请参考如下说明进行整改。
### 直连模式直接访问图片服务器将无法访问图片
由于历史原因,图片的访问方式存在两种模式,假设图片在图片服务器的相对路径为:/a/b/c.webp,则会有以下两种图片url形式。
- **直连模式:** 通过图片服务器IP直接访问图片,形如:<http://imageServerIp:8100/fileserver/a/b/c.webp>,这种访问图片方式称之为图片服务器直连模式。
- **苍穹访问模式**:通过苍穹对外暴露的下载URL访问图片,形如:http://苍穹域名/attachment/downloadImage/a/b/c.webp,这种访问图片的方式称之为苍穹访问模式,苍穹先验证用户访问权限,然后访问图片服务器,获取图片资源返回。
直连模式未验证用户权限,不符合安全要求。因此,需要将图片访问方式统一修改为苍穹访问模式。
**需要整改的典型场景**
**1.获取图片完整url**
错误获取方式
```java
getProperty("imageServer.url")、getProperty("image.fileserver")、getProperty("fileserver")
通过这三种方式取到图片服务器域名或机器ip,手工拼接成一个完整路径。
```
需整改为调用 UrlService接口获取
```java
String imageFullUrl = UrlService.getImageFullUrl(String 图片相对路径);
```
**2.使用http方式访问图片服务**
比如用HttpClient,或者java URL方式直接访问图片服务,进行下载,上传,删除,获取文件流等操作,由于新版本图片服务器外网地址不存在以及图片服务器不允许匿名访问,Http方式直接访问将会失效。应该改为使用平台提供的FileService接口。
例如,使用HttpClient:
```java
// 使用 httpClient 直接调用图片服务器
String url = imageServerUrl + imageUrl; // 图片服务器地址 + 图片的相对路径
HttpClient c