打印本文 打印本文 关闭窗口 关闭窗口
使用webservice上传文件的示例代码
作者:武汉SEO闵涛  文章来源:敏韬学习网  点击数1246  更新时间:2010/6/23 22:57:31  文章录入:mintao  责任编辑:mintao

  ASPX页面所需控件:一个FileUpload 控件,一个Button(btnUpload);

  一、ASPX页面Button的事件代码

  protected void btnUpload_Click(object sender, EventArgs e)
  {   
        /**/////获得上传文件的名称
        //FileInfo file = new FileInfo(fileUpload.PostedFile.FileName);

        //将上传的文件转换为二进制流
        byte[] fileContent = fileUpload.FileBytes;
        //获得上传文件的名称
        string fileName = fileUpload.FileName;
        //实例化webservice
        AdService.Service adTemp = new AdService.Service();
        if (adTemp.UploadFile(fileContent, fileName)) //调用上传方法。
        {
            Response.Write("已上传成功");
        }
        else
        {
            Response.Write("上传图片发生未知错误");
        }

  }

  二、WebService代码

  新建一个WebService项目,WebService文件名称为AdService.asmx;

  [WebMethod(Description = "WebService上传文件代码")]   
  public bool UploadFile(byte[] fs, string fileName)
  {
        try
        {
            /**////定义并实例化一个内存流,以存放提交上来的字节数组。
            System.IO.MemoryStream m = new System.IO.MemoryStream(fs);
            //取出存放地址,可以通过数据库里存放,不用定死了。此处只是做DEMO。

   //将文件保存在网站虚拟目录中,请自行修改路径
            string strFile = Server.MapPath("MyFiles\\" + FileName);
            /**////定义实际文件对象,保存上载的文件。
            System.IO.FileStream fl = new System.IO.FileStream(strFile, FileMode.OpenOrCreate);
            /**////把内内存里的数据写入物理文件
            m.WriteTo(fl);           
            m.Close();
            fl.Close();
            m = null;
            fl = null;
            return true;
        }
        catch
        {
            return false;
        }

  }

打印本文 打印本文 关闭窗口 关闭窗口