问题标签 [filereference]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1946 浏览

apache-flex - Firefox 的 Flex 4 文件引用问题

我正在尝试使用在 Firefox 4 中运行的 Flex 应用程序中的 FileReference 执行文件上传。但是,当我尝试调用 upload() 方法时,Filereference 会引发 IOError 并显示以下内容

如果我没有为 IOErrorEvent 显式添加侦听器,那么我会收到一个 Flash 播放器弹出窗口说明

该请求甚至没有到达我的服务器(我可以通过在 Java 代码中放置断点并观察使用 HTTPFox 发出的 HTTP 请求来验证),所以在我看来这是一个客户端问题(对吗?)。我已经在 google 上搜索了一些问题,建议包括将 upload() 调用包装在 timeout/callLater 中,并尝试将 sessionId 附加到请求中(因为 Firefox 为上传创建了一个新线程并且没有附上正确的cookies)。这些方法都不适合我。

我在 Internet Explorer 上没有遇到这个问题,只有 Firefox。

有没有人遇到过这个?有什么建议么?谢谢你的帮助。

编辑:应该提到 SWF 和被请求的 URL 在同一台服务器上 (localhost:8080)。

0 投票
1 回答
535 浏览

actionscript-3 - FileReference 支持大于 4 GB 的文件...有什么意义?

最近阅读Adob​​e LiveDocs 上的FileReference手册时,我偶然发现了size属性描述中的一个有趣的注释,这是我以前从未注意到的:

注意:在 ActionScript 3.0 的初始版本中,size 属性被定义为一个 uint 对象,它支持大小最大为4 GB的文件。它现在实现为 Number 对象以支持更大的文件

...更大的文件?大于 4 GB?

如果 Flash 在不先将它们加载到内存中的情况下仍然无法使用它们,那么支持这么大的文件有什么意义呢?或者这已经改变了?还是仅与AIR有关?

0 投票
2 回答
2255 浏览

apache-flex - Adobe Flex:文件参考错误 1061

我想使用 Flex 4 SDK 保存 XML 文件

错误显示:

0 投票
1 回答
196 浏览

flash - 为什么我第二次点击 fileReferencer.browse 按钮​​后 TextInput 会更新

在 Flex 4 中,我试图让一个简单的浏览按钮使用浏览按钮获取的文件名更新 TextInput 对象的文本字段。它不必是完整路径,我想要的只是显示的文件名。它仅在第二次点击浏览按钮后出现,而不是在我第一次选择文件后出现。这是我的代码:

回顾一下,文件名仅在第二次点击浏览按钮时显示在我的 TextInput 框中。

我究竟做错了什么?

0 投票
8 回答
9754 浏览

flash - 在 FileReference.save() AS3 上锁定文件类型的替代方法

更新:

正如下面 Jacob 的回复中所讨论的,限制或纠正 FileReference.save 的行为是不可能的。谁能提出一个替代方案(服务器是 Apache/PHP),它符合我在这篇文章中的所有标准并避免我与 Jacob 讨论的陷阱?

结束编辑

我正在使用 FileReference.save() 从我的 AS3 应用程序中保存图像。这是代码,它工作正常:

这将按预期打开保存文件对话框。我使用它而不是将 byteData 发送到 PHP,因为我希望用户有一个熟悉的对话框,让他们设置自己的文件名。

当用户将他们的操作系统配置为显示文件扩展名时,问题就出现了,就像我一样。这意味着在保存对话框中,文件名包含如下图所示的扩展名,因此用户在重命名文件时很容易删除该扩展名。因为此框的默认文件类型是“所有文件”,所以如果删除扩展名,文件将不带类型保存。

我不知道有什么方法可以在保存对话框上强制使用文件类型(如果有一个是我首选的路径),所以如果失败了,任何人都可以建议我这样做的安全方法,仍然允许用户设置文件名本身使用其操作系统的标准对话框?

如本教程所示,我确实尝试在 save() 之前调用 FileReference.browse() ,但这会引发错误,因为您一次只能执行一个 FileReference 调用。

文件保存对话框

0 投票
2 回答
450 浏览

actionscript-3 - 是否可以在 FileReference.load() 将原始文件数据加载到内存中时访问它?

我认为不是,但也许我错了。任何人?

更新:

它不是。

0 投票
2 回答
443 浏览

actionscript - ActionScript FileReference 上传完成

我是 Flash 和 Actionscript 的完整初学者。

我最喜欢的项目是:提供类似www.imageshack.com的服务,人们可以上传单个图像,之后任何人都可以使用生成的 url 查看它。

到目前为止,我已经使用 Flash 上传图像并将其存储在目录中。

http://pixels.guygar.com/

您可以在以下位置查看上传的图片:

http://pixels.guygar.com/warehouse/

问题是,当调用 PHP 文件将图像存储在浏览器将自动导航到的文件夹 /warehouse 中时,我的印象是:

http://pixels.guygar.com/upload.php

我可以在哪里处理图像,即生成一个唯一的文件名并为用户提供一个唯一的 URL,以便以后访问该资源。

发生的事情是图像由 PHP 脚本上传,但即使在 PHP 脚本中提供了新的 url,浏览器页面仍然保持不变。

所以问题是我该怎么做才能将新的 URL(链接的图像资源)传递回闪存,以便调用 onComplete 我可以导航到刚刚加载的图像?或其他方式这样做?

我欢迎您对这个问题的看法,并感谢您的指导。

0 投票
1 回答
452 浏览

apache-flex - Flex FileReference 不适用于 NTLM 身份验证

我们使用 FileReference 组件在 Flex 中上传文件。但是,如果应用程序部署在具有 NTLM 身份验证(Windows 集成身份验证)的环境中,则上传功能将不起作用,并且每次都会弹出一个消息框,要求用户输入凭据。

我从互联网上查询了一些资源,这似乎是 FileReference 组件的错误。

这个问题有什么解决办法吗?谢谢。

0 投票
2 回答
1013 浏览

apache-flex - 下载时如何将错误消息从 servlet 发送到 Flex 中的 Flex FileReference

我使用 fileReference.download() 下载文件。fileReference 向 java servlet 发送请求。在 servlet 中,可能会检查一些错误。例如错误 - “找不到文件”。我想将错误发送到 flex 端。我尝试了很多方法,但是 flex 中的 fileReference 无法接收它们。如

或者

似乎 fileReference 无法触发事件“DataEvent.UPLOAD_COMPLETE_DATA”和“HTTPStatusEvent.HTTP_STATUS”。有人可以告诉我如何在 fileReference 中获取 servlet 错误消息。谢谢

0 投票
1 回答
331 浏览

actionscript-3 - Flash 保存在 Windows 中,而不是在 Linux 中,FileReference.save()

下面的代码在 Fedora 15 上的 Flex 4 SDK 上编译得很好。鼠标点击打开对话框,我点击确定,保存了一个文件,但是文件是空的。我在 Windows 机器上运行相同的 SWF 文件(在 Linux 机器上编译),创建的文件包含预期的数据。

然后我将函数中的 FileReference 声明分解为类级别,希望避免已知错误,但同样的问题仍然存在。

希望设置一个解决方法,我将调试 Flash 播放器添加到我的路径中,并在没有浏览器的情况下从 Flash 运行文件,并且它可以工作。因此,现在 Flex 问题已成为 Firefox 问题,可能是由于我在安装插件时使用的阴暗程序,而没有真正了解发生了什么。我正在运行 Firefox 5.0。

本质上我的工作流程是固定的,但也许执行上述操作的人将无法使用 FileReference.save() 使用项目?我应该担心这种边缘情况吗?

编辑:缺少一行,已在上面修复

编辑:在上面的代码中解决了答案,但存在同样的问题。

编辑:当调用独立播放器时,这适用于同一系统。因此这是一个浏览器 (FF 5.0) 插件问题。