www.mxdraw.com
内容索引主面
前一个向上下一个
_DMxDrawX::SaveDwgToURL 方法

把DWG文件保存到服务器上

IDL
[id(26), helpstring("method SaveDwgToURL")]
VARIANT_BOOL SaveDwgToURL(BSTR pszServerUrl, BSTR pszServerProgramUrl, BSTR pszComponentName, BSTR pszPort);
参数 
说明 
BSTR pszServerUrl 
服务器网址地址,如:www.mxdraw.com,如果传空,程序自动取当前网页的服务器. 
BSTR pszServerProgramUrl 
服务器的文件上传处理程序,如:upload.asp 
BSTR pszComponentName 
HTML组件名称,相当于一个HTML页面的Form中的中的file1 
BSTR pszPort 
服务处理端口. 如:_T("80") 

成功返回TRUE

模拟一个文件表单提交上传文件,详细例程参考sampleAspNet中"保存dwg文件到服务器"按钮 模拟的表单提交,向服务器发送的请求,使用Fiddler工具能看见 因为Fiddler的问题, Fiddler工具查看本地服务器请求内容时,本地服务器ip地址需要写成http://127.0.0.1.,而不能写成http://localhost 下面的代码调用效果

    if (!MxDrawXCtrl_Obj.SaveDwgToURL("http://127.0.0.1.", "/Save.aspx", "ComponentName", "6046")) {
        var ret = MxDrawXCtrl_Obj.Call("Mx_GetLastError","");
        alert(ret.AtString(0));
    }
    else {
        alert("成功");
    }

等同于这个代码,这个代码可以放到htm文件中,运行执行

    <form action="Save.aspx"method="post" enctype="multipart/form-data">
    <input id="File1" type="file" name="ComponentName" /><br />
    <input id="Submit1" type="submit" value="submit" />
    </form>

例如: sampleAspNet中的例子

            function savedwgurl() 
            {
                MxDrawXCtrl_Obj = document.all.item("MxDrawXCtrl");
                MxDrawXCtrl_Obj.focus();

                //MxDrawXCtrl_Obj.SaveDwgToURL("http://www.192.168.1.102", "/Save.aspx", "ComponentName", "80");
                if (!MxDrawXCtrl_Obj.SaveDwgToURL(getcurpath(), "/Save.aspx", "ComponentName", "")) {

                    var ret = MxDrawXCtrl_Obj.Call("Mx_GetLastError","");
                    
                    alert(ret.AtString(1));
                }
                else {

                    alert("成功");
                }  
            }

例如:Java中调用代码 客户端代码,file是文件提取组件名称

        function savedwgurl(){
        MxDrawXCtrl_Obj = document.all.item("MxDrawXCtrl");
        MxDrawXCtrl_Obj.focus();

        if (!MxDrawXCtrl_Obj.SaveDwgToURL(" http://10.10.28.7", "/web/mxAction.do", "file", "7001")) {
            var ret = MxDrawXCtrl_Obj.Call("Mx_GetLastError","");
            alert(ret.AtString(1));
        }else{
                alert("保存成功");
            }
        }

服务器端代码,file是文件提取字段名Servlet里执行这段代码

        MxForm mf = (MxForm)actionForm;

        InputStream is = mf.getFile().getInputStream();

        File destFile = new File("D:\civilize\code\web","test.dwg");

        OutputStream os = new FileOutputStream( destFile );

        byte[] buffer = new byte[400];

        int length = 0;

         while( (length = is.read(buffer)) > 0 ) {

            os.write(buffer,0,length);
        }

        mf.getFile().destroy();

        is.close();
        os.close();
        return null;

        // MxForm代码:
        import org.apache.struts.action.ActionForm;
        import org.apache.struts.upload.FormFile;

        public class MxForm extends ActionForm {
            private FormFile file;


        public FormFile getFile() {
                return file;
            }


            public void setFile(FormFile file) {
            this.file = file;
            }

        }

 

例如: ASP.net + MVC调用

            var dwgName = $("#dwgList option:selected").text();
            var hostName = window.location.hostname;
            var port = window.location.port;
            var path = "http://" + hostName + ":" + port;
            alert(hostName+"==="+path);
            if (!jieTuCtrlObject.SaveDwgToURL(path, "Home/SaveDwgFile/?key=" + Math.random() + "&flag=" + flag, dwgName, ""))
            {
                alert(path);

                var ret = jieTuCtrlObject.Call("Mx_GetLastError", "");

                alert(ret.AtString(1));
            }
            else
            {
                var ret = jieTuCtrlObject.Call("Mx_GetLastError", "");
                得到服务器返回数据
                alert(ret.AtString(1));
                //alert("保存成功");
            }
Copyright (c) 2010. All rights reserved.
你认为该帮助怎么样? 发送反馈信息!