如何把dwg文件保存到服务器上?
Java开发|黄洪辉|2018-06-07 09:31
-
回答:
主要用到函数说明:
_DMxDrawX::SaveDwgToURL
把DWG文件保存到服务器上,详细说明如下:
参数 说明 BSTR pszServerUrl
服务器网址地址,如:www.mxdraw.com,如果传空,程序自动取当前网页的服务器
BSTR pszServerProgramUrl
服务器的文件上传处理程序,如:upload.asp
BSTR pszComponentName
HTML组件名称,相当于一个HTML页面的Form中的中的file1
BSTR pszPort
服务处理端口. 如:_T("80")
例如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; } }