• 使用wse(Web Services Enhancements )把服务器端的文件传到客户端


    DLL下载:DLL.zip

    比如说,现在站点A有个附件想传给站点B,我们就可以用WSE来传。
    在服务器端的webservice文件service1.asmx中写入webmethod:
    这个是取附件的方法:
    [WebMethod]
      public void GetAttachment()
       {
        // 获取 SoapContext 作为响应消息
        SoapContext myContext = HttpSoapContext.ResponseContext;
       
       // 字符串,表示附件的文件名和路径。
       string filePath = @"C:\My Documents\1.txt";

       // 使用文件名来创建新的 DIME 附件,
       // 并通过 MIME 媒体类型
       // 来指定附件编码。
       DimeAttachment dimeImage = new DimeAttachment(
        "text/xml", TypeFormatEnum.MediaType,
        filePath);
       
       // 指定给 DIME 记录的 ID 属性。
       dimeImage.Id = "1.txt";

       // 将新的 DimeAttachment 对象添加到 SoapContext 对象中。
       myContext.Attachments.Add(dimeImage);

       }

    在客户端的web站点下载附件,并写入到新的文件中:
    private void DownAttachment()
      {
       //Service1WSE : Microsoft.Web.Services.WebServicesClientProtocol    这里的Service1继承WSE 中的类
       Service1WSE sw=new Service1WSE(); 
       //从webservice中获取附件
       sw.GetAttachment();
       //得到附件的流
       Stream str=sw.ResponseSoapContext.Attachments[0].Stream;
       int length=(int)str.Length;
       byte[] attData=new byte[length];
       //把附件的流写入byte中
       str.Read(attData,0,length);

       //创建新文件
       FileInfo fi=new FileInfo(@"c:\"+sw.ResponseSoapContext.Attachments[0].Id);
       FileStream fs=fi.Create();
       //把byte写入新文件中
       fs.Write(attData,0,length);
       fs.Flush();
       fs.Close();
      }

    注意:在webservice站点和客户端website站点的web.config中system.web节下加:
    <webServices>
          <soapExtensionTypes>
            <add type="Microsoft.Web.Services.WebServicesExtension, Microsoft.Web.Services, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" priority="1" group="0" />
          </soapExtensionTypes>
        </webServices>

  • 相关阅读:
    软件工程第一次实验——软件开发文档与工具的安装与使用
    软件工程第四次作业——ATM管理系统
    软件工程第三次作业——举例分析流程图与活动图的区别与联系
    软件工程第二次作业——小学四则运算题目生成程序
    mac终端进入mysql
    计算机网络
    类和对象(未完成)
    html_css
    Mac下使用C语言生成和使用动态链接库
    模运算
  • 原文地址:https://www.cnblogs.com/huanghai223/p/2331232.html
Copyright © 2020-2023  润新知