HarmonyOS鸿蒙Next中预览器可以显示后端传回的网络地址的图片,模拟器显示不出来
HarmonyOS鸿蒙Next中预览器可以显示后端传回的网络地址的图片,模拟器显示不出来
以下是选择图片上传保存,返回的日志,但是模拟器没有显示
你选中的图片:file://media/Photo/3/IMG_1773129005_002/5f1c485450c3697e9f2ad15ddb01fc46.png
03-10 17:40:44.601 27432-27432 A03d00/JSAPP com.zyc.littletrip I 选择的头像: file://media/Photo/3/IMG_1773129005_002/5f1c485450c3697e9f2ad15ddb01fc46.png
03-10 17:42:02.137 27432-27432 A03d00/JSAPP com.zyc.littletrip I upOnHeader headers:{“headers”:{“content-type”:“application/json”,“date”:“Tue, 10 Mar 2026 09:42:00 GMT”,“transfer-encoding”:“chunked”,“vary”:“Origin, Access-Control-Request-Method, Access-Control-Request-Headers”},“body”:"{“code”:“200”,“msg”:“请求成功”,“data”:"http://localhost:9090/files/download/1773135720925-1773135721700.png"}"}
03-10 17:42:02.140 27432-27432 A00001/[axios] com.zyc.littletrip I : axios request
03-10 17:42:02.154 27432-27432 A00001/[axios] com.zyc.littletrip I : http request : <private>
03-10 17:42:02.182 27432-27432 A03d00/JSAPP com.zyc.littletrip I upload complete taskState: {“path”:"/data/storage/el2/base/haps/entry/cache/1773135721700.png",“responseCode”:0,“message”:""}
03-10 17:42:02.230 27432-27432 A00000/Interview_Pass com.zyc.littletrip I 请求成功
03-10 17:42:02.231 27432-27432 A00000/Interview_Pass com.zyc.littletrip D 读取Preferences[user_data_key = "{“id”:1,“username”:“aaa”,“name”:“煊赫门”,“password”:“555555”,“role”:“普通用户”,“newPassword”:null,“avatar”:"http://localhost:9090/files/download/1773133689218-1773133690188.png",“token”:“eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJhdWQiOiIxLeaZrumAmueUqOaItyIsImV4cCI6MTc3MzIxNDkzOX0.VRCv0TCAZtxtQL81LDond3gwP1OHrqLYldCRqhOBfOQ”,“phone”:“13285998500”,“email”:""}"]成功
03-10 17:42:02.233 27432-27432 A03d00/JSAPP com.zyc.littletrip I 本地存储的头像 http://localhost:9090/files/download/1773135720925-1773135721700.png
03-10 17:42:02.260 27432-27432 A00000/Interview_Pass com.zyc.littletrip D 保存Preferences[user_data_key]成功
Image(this.userAvatar)
.width(80)
.height(80)
.borderRadius(40)
.border({ width: 2, color: '#FFFFFF' })
.opacity(1) // 确保头像不透明
.onError((error: ImageError) => {
console.error('[ImageError]', `${error.message}`)
this.userAvatar = $r('app.media.default_avatar')
})
以下是报错日志
03-10 17:42:02.262 27432-27432 A03d00/JSAPP com.zyc.littletrip E [ImageError] Http task of url http://localhost:9090/files/download/1773135720925-1773135721700.png failed, response code 0, msg from netStack: Couldn’t connect to server
http://localhost:9090/files/download/1773133689218-1773133690188.png这个路径在预览器可以,模拟器不行,看了一圈下来的方法都不行。
更多关于HarmonyOS鸿蒙Next中预览器可以显示后端传回的网络地址的图片,模拟器显示不出来的实战教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS Next中,预览器与模拟器图片显示差异通常源于网络权限配置。预览器可能默认允许访问网络,而模拟器需要明确声明网络权限。请检查项目配置文件(如module.json5),确保已添加ohos.permission.INTERNET权限。同时,确认图片地址可公开访问,模拟器网络连接正常。
更多关于HarmonyOS鸿蒙Next中预览器可以显示后端传回的网络地址的图片,模拟器显示不出来的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
这是一个典型的网络地址访问问题。预览器运行在开发机的浏览器环境中,可以直接访问 localhost:9090(即开发机本地的后端服务)。而模拟器是一个独立的虚拟设备,其 localhost 指向的是模拟器自身,而非你的开发主机。
核心原因:
模拟器无法直接解析 http://localhost:9090 为开发机的后端服务地址。
解决方案:
-
使用开发机的局域网IP地址(推荐):将代码中的
localhost替换为开发机在局域网中的实际IP地址(例如http://192.168.1.100:9090)。确保开发机和模拟器在同一局域网,且防火墙允许9090端口的连接。 -
配置模拟器网络代理(如果后端在公网):如果后端服务部署在公网,确保模拟器可以访问互联网,并使用公网URL。
-
检查网络权限:在应用的
module.json5配置文件中,确认已声明必要的网络权限:"requestPermissions": [ { "name": "ohos.permission.INTERNET" } ]
从你的日志 Couldn't connect to server 来看,是网络连接失败。请优先将 localhost 替换为开发机的实际IP地址再测试。

