gpt4 book ai didi

apache-flex - 弹性 : DeepCopy of FileReference

转载 作者:行者123 更新时间:2023-12-04 15:28:06 25 4
gpt4 key购买 nike

在我的项目中,我让用户使用 FileReference 类选择图片。然后我使用 load() 函数将这些图片加载到它们的 .data 属性中。在此之后,我执行一些本地操作并将它们发送到服务器。

我想要做的是能够再次遍历选择的 FileReferences,将它们加载到 .data 属性中,执行不同的操作并再次将它们发送到服务器。我知道我应该能够从用户调用的事件中做到这一点,这在这里不是问题。

问题是,第一次加载FileReference后,我无法以任何方式卸载它,而且我无法将所有图片的数据保存在内存中,因为这些图片很大。

所以我想我只能做一件事,那就是对 FileReference 执行 DeepCopy……然后我可以加载第一个版本,将其废弃并使用该副本进行第二次“运行”。

我尝试使用 ObjectUtil.copy,但是当我访问例如.name 属性,它失败了:

Error #2037: Functions called in incorrect sequence, or earlier call was unsuccessful.

在 flash.net::FileReference/get name()

相关片段:
registerClassAlias("FileReference",FileReference);
masterFileList.addItem(FileReference(ObjectUtil.copy(fr_load.fileList[i])));
trace(masterFileList[i].name)

是否确实存在 FileReference 类的一些 protected 属性阻止它被复制?如果是这样,我可以以某种方式回避吗?或者有没有其他解决方案可以解决我的整体问题?

我感谢任何提示/想法!

最佳答案

你不能使用 ObjectUtil.copy。此方法设计用于仅复制数据对象(VO 类)。

您应该创建一个新的 FileReference 并逐个复制属性。创建一个函数来做到这一点..

关于apache-flex - 弹性 : DeepCopy of FileReference,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1995396/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com