因为cocos creator 3.3不再支持loader.load()方法,所以,使用官方文档中介绍的assetManager.loadRemote来加载远程图片,结果出现bug。
–>代码如下:
const fileName: string = ‘https://cdn.cdwaterbear.cn/A_PopularizeIcon/icon_qwsc.jpg’;
assetManager.loadRemote(fileName, (err, texture) => {
if (err) {
//真机调试,手机是小米9,每次都是直接运行到这里,报错后返回.
console.warn(err);
return;
}
//下面是官方文档中介绍的,如何将texture转成SpriteFrame.
const spriteFrame = new SpriteFrame();
const picTexture = new Texture2D();
picTexture.image = texture;
spriteFrame.texture = picTexture;
//接下来的代码是如何存储SpriteFrame的,就不粘贴了.
});
-
Creator 版本:cocos creator 3.3.0
-
目标平台:字节跳动小游戏
-
重现方式:真机调试必然出现。
-
首个报错:
-
手机型号:Android手机即可
-
编辑器操作系统: win10
-
重现概率: 100%
上述代码,必然报错为:
libs/wrapper/fs-utils.js:25
Download file failed: path: https://cdn.cdwaterbear.cn/A_PopularizeIcon/icon_qwsc.jpg message: downloadFile:fail native exception java.lang.IllegalArgumentException:
File /data/user/0/com.ss.android.ugc.aweme/files/mgl/network-response-body-7 contains a path separator stack:android.app.ContextImpl.makeFilename(ContextImpl.java:2876)
请问,这个java.lang.IllegalArgumentException到底是怎么回事?
ps:上述代码在网页上预览时,可以正常运行,能够加载远程的图片。

