天天看点

winform界面嵌入dwg图纸_在C# winform程序中怎样上传CAD文件的图纸,并调用AUTOCAD软件进行编辑图纸。....

我可以用以下方法,以下方法是上传图片的,你上传cad文件是一样的。

因为WinForm都是运行在本地的,而我们的网站一般都是布署在服务器上,运行在服务器上的,所以在网站上面上传文件,就好似于保存文件到本地。但在WinForm上就不一样了,本章我们简单举一个在WinForm利用WebService上传文件到服务器的方法:

首先们先创建一个WebService服务,该服务包含一个UpdateFile方法,该方法接收两个byte[]与string类型参数。该方法非常简单,就是按照string参数指定的路径和名称将byte[]参数值保存到服务器,代码如下:

[WebService(Namespace = " http://tempuri.org/")]

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

[System.ComponentModel.ToolboxItem(false)]

public class WebService : System.Web.Services.WebService

{

[WebMethod]

public bool UpdateFile(byte[] content, string pathandname)

{

File.WriteAllBytes(Server.MapPath(pathandname), content);

}

}

为了安全,我们可以验证一下pathandname的值,使其只保存图片格式的文件。全部代码如下:

[WebService(Namespace = " http://tempuri.org/")]

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

[System.ComponentModel.ToolboxItem(false)]

public class WebService : System.Web.Services.WebService

{

[WebMethod]

public bool UpdateFile(byte[] content, string pathandname)

{

int index = pathandname.LastIndexOf(".");

if (index == 0)

{

return false;

}

else

{

string extended = string.Empty;

if (index + 1 == pathandname.Length)

{

return false;

}

else

{

extended = pathandname.Substring(index + 1);

if (extended == "jpeg" || extended == "gif" || extended == "jpg")

{

try

{

File.WriteAllBytes(Server.MapPath(pathandname), content);

return true;

}

catch (Exception ex)

{

return false;

}

}

else

{

return false;

}

}

}

}

}

好了,创建完WebService后,将它布署到服务器上面,然后在Winform中添加对该服务的引用,添加方法如下:

在winform项目的引用-添加服务引用,在打开的对话框的地址栏中添加布署好的WebService地址,点击前往,验证通过后即添加成功了