明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3393|回复: 7

[求助]web页面看CAD文件(最后勉强解决)

[复制链接]
发表于 2010-4-12 10:18 | 显示全部楼层 |阅读模式
本帖最后由 作者 于 2010-4-19 0:15:59 编辑

一个BS系统需要看CAD图的功能,请求解决方案

搞了这东西几天,最后总算勉强能收尾,缺点在于ie的安全设置中“对未标记安全的activex控件。。。。”(大概名称)要设为提示,而且还要在客户端安装dwg trueview(bs最大的优势没有了)

还有之前出现的PutSourcePath出错是因为iis没有设置好,要把dwg格式文件设为可下载才行

发表于 2010-4-12 20:29 | 显示全部楼层
转成dwf文件吧
 楼主| 发表于 2010-4-12 21:03 | 显示全部楼层
lzh741206发表于2010-4-12 20:29:00转成dwf文件吧

强制客户转成dwf似乎不太可能

今天下了一个dwg trueview的东西,但不会用

 楼主| 发表于 2010-4-13 12:08 | 显示全部楼层

最新成果

    <script type="text/javascript">
function loadfile()
{
 var dwgViewerCtrl= document.getElementById("dwgViewerCtrl");
 dwgViewerCtrl.PutSourcePath("g:/Drawing1.dwg")
}
    </script>

</head>
<body>
    <form id="form1">
    <input type="button" onclick="loadfile()" value="loadfile" />
    <div>
        <object id="dwgViewerCtrl" classid="clsid:6C7DC044-FB1E-4140-9223-052E5ABE7D24" width="100%"
            height="100%" data="DATA:application/x-oleobject;BASE64,RMB9bB77QEGSIwUuWr59JAAHAAARTAAArjAAAA==">
        </object>
    </div>
    </form>
</body>
</html>

以上这个html页面在本地可以打开并完美显示,但如果放到IIS里(项目用asp.net),在dwgViewerCtrl.PutSourcePath("g:/Drawing1.dwg")会报错,除非把ie的安全设置设得很低

继续请求解决方案

发表于 2010-4-13 12:16 | 显示全部楼层
在服务器下,引用的应该是服务器上的路径吧,你可以试试用相对路径看看,而不要用绝对路径。
 楼主| 发表于 2010-4-13 13:18 | 显示全部楼层
mccad发表于2010-4-13 12:16:00在服务器下,引用的应该是服务器上的路径吧,你可以试试用相对路径看看,而不要用绝对路径。

应该跟这个没关,在这句话中

   dwgViewerCtrl.PutSourcePath("http://localhost:10080/cad1.dwg")

报的是 Microsoft JScript 运行时错误: 对象不支持此属性或方法 这个错误

发表于 2010-4-13 14:12 | 显示全部楼层

应该跟这个没关,在这句话中

   dwgViewerCtrl.PutSourcePath("http://localhost:10080/cad1.dwg")

报的是 Microsoft JScript 运行时错误: 对象不支持此属性或方法 这个错误

绝对路径不是这样引用的,应该用Server.MapPath()

假如你的图纸位于网站的“DWG”目录下,那么应该这样写

dwgViewerCtrl.PutSourcePath(Server.MapPath("DWG/cad1.dwg"))

 楼主| 发表于 2010-4-13 15:11 | 显示全部楼层
本帖最后由 作者 于 2010-4-13 15:40:04 编辑

wylong发表于2010-4-13 14:12:00应该跟这个没关,在这句话中   dwgViewerCtrl.PutSourcePath(\"http://localhost:10080/cad1.dwg\")报的是 Microsoft JScript 运行时错误: 对象不支持此属性或方法 这个错误

绝对路径不是这样引用的,应该用Server.MapPath()

假如你的图纸位于网站的“DWG”目录下,那么应该这样写

dwgViewerCtrl.PutSourcePath(Server.MapPath("DWG/cad1.dwg"))

他报的错误是 对象不支持此属性或方法,我理解为dwgViewerCtrl这个对象根本没有成功获取,于是也就没有PutSourcePath这个方法

对于这段代码,如果把ie的安全等级设到最低,则正常运行。如果使用dwfviewer,在ie默认安全等级也正常运行

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-6-17 01:42 , Processed in 0.149471 second(s), 23 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表