使用 Flex 3 检查远程文件是否存在

发布于 2024-07-29 20:06:27 字数 224 浏览 5 评论 0原文

在 Flex 3/AS 3 中,检查远程文件是否存在的好方法是什么? 我正在考虑以 PHP 方式尝试“fopen”远程路径(例如“http:// example.com/somefile.exe"),看看它是否有效。 我并不是要求下载所有文件,我只是想知道该文件是否存在(并且可访问)。

In Flex 3/AS 3, what would be a good way to check if a remote file exists?
I'm thinking in PHP ways where you'd try to "fopen" a remote path (like "http://example.com/somefile.exe"), and see if it works or not. I'm not asking to just download all of the file, I just want to know if the file is there (and accessible).

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

假装爱人 2024-08-05 20:06:27

这是我找到的最适合这项工作的代码

var urlStream:URLStream = new URLStream();
urlStream.addEventListener(Event.OPEN, streamHandler);
urlStream.addEventListener(IOErrorEvent.IO_ERROR, streamHandler);
urlStream.load(new URLRequest("SOME_FILE"));

function streamHandler(e:Event):void {
    urlStream.close();
    if(e.type == Event.OPEN){
        trace("FILE EXISTS");
    } else if(e.type == IOErrorEvent.IO_ERROR){
        trace("FILE DOES NOT EXIST");
    }
}

This is the best code I found for the job

var urlStream:URLStream = new URLStream();
urlStream.addEventListener(Event.OPEN, streamHandler);
urlStream.addEventListener(IOErrorEvent.IO_ERROR, streamHandler);
urlStream.load(new URLRequest("SOME_FILE"));

function streamHandler(e:Event):void {
    urlStream.close();
    if(e.type == Event.OPEN){
        trace("FILE EXISTS");
    } else if(e.type == IOErrorEvent.IO_ERROR){
        trace("FILE DOES NOT EXIST");
    }
}
过去的过去 2024-08-05 20:06:27

我开发了一个实用程序类,用于检查文件是否存在。 这是代码:
https://github。 com/eladelrom/eladlib/blob/master/EladLibFlex/src/com/elad/framework/utils/FileExistsUtil.as

实现如下所示:

var fileExists:FileExistsUtil = new FileExistsUtil();
fileExists.checkFile("file.jpg", 
function(eventType:String):void
{
 trace(eventType);
}, 
function(errorType:String, text:String):void
{
 trace(errorType+": "+text);
});

There is a utility class I developed that handle a check weather a file exists or not. Here's the code:
https://github.com/eladelrom/eladlib/blob/master/EladLibFlex/src/com/elad/framework/utils/FileExistsUtil.as

And implementation looks like this:

var fileExists:FileExistsUtil = new FileExistsUtil();
fileExists.checkFile("file.jpg", 
function(eventType:String):void
{
 trace(eventType);
}, 
function(errorType:String, text:String):void
{
 trace(errorType+": "+text);
});
扛刀软妹 2024-08-05 20:06:27

您可能需要尝试加载该文件。 如果您收到 IOError,则该文件不存在(或者您的路径错误)。 如果它开始加载,通过触发进度事件,那么它就存在。 然后您可以取消剩余的加载。

或者,您可以尝试从 Flash 调用 PHP 脚本,该脚本执行您所描述的操作,这可能会返回一个简单的 true/false。

You would probably need to attempt to load the file. If you get an IOError, the file doesn't exist (or your path is wrong). If it starts loading, by triggering a progress event then it exists. You can then cancel the remainder of the loading.

Alternatively you could try calling a PHP script from Flash which does what you have described, this could return a simple true/false.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文