首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >MLS RETS服务器

MLS RETS服务器
EN

Stack Overflow用户
提问于 2015-09-28 17:16:27
回答 2查看 687关注 0票数 2

我正在从MLS RETS服务器下载属性图像。当我使用GetObject方法下载属性图像时,有时Getobject方法不返回成功参数,则图像不能在本地服务器上下载。有什么解决方案吗?

下面是我的代码:

代码语言:javascript
运行
复制
   $photos = $rets->GetObject("Property", "Photo", $idata['propertymlsid'], "*", 0);        
    foreach ($photos as $photo) 
    {

        $imgval="";
        $imgval="{$photo['Content-ID']}-{$photo['Object-ID']}.jpg";
        if ($photo['Success'] == true) 
        {
        @file_put_contents("photos/{$photo['Content-ID']}-{$photo['Object-ID']}.jpg", $photo['Data']);
        @mysql_query("insert into tableName (pro_mlsid,photos_name,image_date)values('".$idata['propertymlsid']."','".$imgval."','".date('Y-m-d h:i:s')."')");   
        }else
        {
        // in this section i want to download image. please suggest what to do here? . i have record for this image in database for but could not download it.   
        } 

    }

请看一下代码。我想要下载上述代码的其他部分的图像。

EN

回答 2

Stack Overflow用户

发布于 2015-09-30 21:45:24

不幸的是,RETS协议不是为处理图像而设计的,整个过程中有相当多的陷阱。

  1. 当数据库中的一项被删除时,RETS协议不能反映这种变化。对于列表来说,这是一个非常罕见的事件,但对于图片就不是了。无论采用哪种方式,都只会出现一个错误,即未找到请求的对象或该对象不存在。换句话说,你必须假设对象被删除了,你必须更新你自己的records.
  2. Images,代理经常更新,并且可能已经被删除或更改了顺序。
  3. 图像下载过程是双重的。a)您必须首先获取元数据记录,然后使用GetObject获取图像本身。但是,在此期间,代理可能已经删除了您从中获取数据的位置上的image.
  4. Depending,这两个事件之间可能有很长的延迟。例如,IDX通常是一个辅助数据库,而不是从MLS本身访问RETS feed。

所以,底线是,您的代码可能没问题,但是请求的图像实际上已经被删除了,因为您请求了该图像的元数据。

如果您的流程总体上工作正常,但缺少一个图像,那么它很可能会永远消失。理论上,您应该运行第二个进程并尝试获取实际的元数据。如果也没有返回,您可以放心地假定此图像的记录已经消失。

票数 3
EN

Stack Overflow用户

发布于 2015-11-20 06:13:36

一些房地产委员会允许代理商上传损坏的照片,甚至是无效的文件(如PDF)。房地产经纪人犯下的这些错误错误地更新了RETS提要,以指示存在有效的照片,但是当您尝试下载它时,它失败了。

只需删除您的else语句。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32819439

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档