问题描述
我正在开发一个应用程序,我们正在使用Flash添加接口。在初始化期间,应用程序会加载一个配置文件,其中包含对图像路径的引用。当我使用Loader和URLRequest类加载这些图像时,该路径不起作用,并且会引起问题。根据我研究的所有内容,我的代码应该可以工作。我有一个trace
输出了"source/icons/default.png"
,这是外部图像的正确相对路径,并且加载图像时有效,但是我需要使用一个变量来设置图像路径。使用变量new URLRequest("source/icons/" + default.png);
设置URLRequest会导致它使用看起来错误的完整文件路径,并报告2035错误。我做错什么了吗?我现在不确定该怎么办。我已验证文件存在,并且已验证文件的路径。
Trace Ouput:
source/icons/default.png
[CompanionStatus] Error occurred while loading bitmap
[CompanionStatus] 2035 : Error #2035: URL Not Found. URL: file:///C|/Users/devtrooper/Desktop/project/source/icons/default.png
似乎Flash正在用管道(|)替换驱动器号附近的冒号(:),但我不确定是否是问题所在。
private function getBitmapData(nameString:String,imagePath:String):void{
try{
var bitmapDataFunction:Function = addBitmapDataToDictionary(nameString);
var path:String = ICON_FOLDER_PATH + imagePath;
var loader:Loader = new Loader();
var urlRequest:URLRequest = new URLRequest("source/icons/" + imagePath);
trace("URLRequest.url " + urlRequest.url);
loader.contentLoaderInfo.addEventListener(Event.COMPLETE,bitmapDataFunction,false,true);
loader.contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR,handleBitmapDataError,true);
loader.load(urlRequest);
} catch (e:Error) {
log("Error occured while trying to load image data");
log(e.name + " : " + e.message);
}
}
解决方法
您可以使用File方法代替urlRequest方法,如下所示:
const result = Array.from(
{ length: 9 },(_,i) => Array.from(
{length: 10},(__,index) => (i + 1) + index * 0.1
)
).flat()
console.log(result)