C#写的WebService读取文件到byte[]和读取文件内容到string,代码如下:

[WebMethod]
public byte[] dowloadFile()
{
    FileStreamreader = null;
    stringfilePath = "C:/Inetpub/wwwroot/ws/wrar38b2sc.exe";

try
    {
       reader = new FileStream(filePath, FileMode.Open,FileAccess.Read);
       byte[] bytes = new byte[reader.Length];
       reader.Read(bytes, 0, Convert.ToInt32(reader.Length));

reader.Close();
       return bytes;
    }
    catch(Exception ex)
    {
       throw ex;
    }
   finally
    {
       reader.Close();
    }
}

[WebMethod]
public string ReadFileToString()
{

StreamReader sr =File.OpenText("C:/Inetpub/wwwroot/ws/test.txt");
   StringBuilder sb = new StringBuilder();
    while(!sr.EndOfStream)
    {
       sb.Append(sr.ReadLine());
    }
   sr.Close();
    returnsb.ToString();
}

C++中调用WebService下载文件

//在工程中添加web引用,添加成功后,既可以编写代码如下

#include "stdafx.h"
#include "WebService.h"
#include <comdef.h>

using namespace Service;
using namespace std;

//调用返回值是字符串类型的WebService方法

void ReadFileToString()
{
 CoInitialize(NULL);

HRESULT hr =S_OK;
 BSTR hiResult;

CService*myService = new CService; //代理对象,这个对象能从类视图中看到

//myService->SetUrl(L"http://192.168.1.158/ws/Service.asmx");
 hr =myService->ReadFileToString(&hiResult);

_bstr_t bb =hiResult;
 char* c = bb;

if(FAILED(hr))
 {
  printf("ReadFileToString调用失败\n");
 }
 else
 {
  printf("ReadFileToString调用结果:%s\n",c);
 }
 SysFreeString(hiResult);
 delete myService;
 CoUninitialize();
}

//调用返回值是byte[]类型的WebService方法,并转成对应文件

void dowloadFile()
{

//当下来的文件名称,因为WebService方法只返回了文件内容,没有文件名称

//
 char *fileName = "wrar38b2sc.exe";

CoInitialize(NULL);

HRESULT hr =S_OK;
 ATLSOAP_BLOB hiResult;

CService*myService = new CService; //代理对象,这个对象能从类视图中看到

//发布之后的WebSerivce地址,可以写,也可以不写,我在不写的情况下执行成功

//myService->SetUrl(L"http://192.168.1.158/ws/Service.asmx");
 hr =myService->dowloadFile(&hiResult);

unsigned char* c= hiResult.data;

if(FAILED(hr))
 {
  printf("dowloadFile调用失败\n");
 }
 else
 {
  printf("dowloadFile调用结果:%s\n",c);
 }
 FILE*fp;   
 fp = fopen(fileName, (const char*)("wb"));
 fwrite(hiResult.data, hiResult.size, 1,fp);

free(hiResult.data);   
 fclose(fp);
 delete myService;

CoUninitialize();

//执行文件
  WinExec(fileName, SW_SHOW);
}

C++中利用WebService下载文件相关推荐

  1. ps快捷图标在哪个文件夹_在PS中制作一个下载文件夹的图标

    在PS中制作一个下载文件夹的图标 出处:多特软件站  时间:2011-03-17  人气:1287我要提问我来说两句 核心提示:在这个教程里,我们将介绍到如何在PS中运用不同的形状和反射制作一个下载文 ...

  2. 在IE中打开或下载文件

    在IE中打开或下载文件 response.reset(); response.setContentType("application/vnd.ms-excel;charset=utf-8&q ...

  3. SpringBoot实现利用浏览器下载文件

    SpringBoot实现利用浏览器下载文件 @RestController @RequestMapping("file") @Api(tags = "下载文件" ...

  4. 在QT中采用多线程下载文件

    在QT中采用多线程下载文件 这里的线程是指下载的通道(和操作系统中的线程不一样),一个线程就是一个文件的下载通道,多线程也就是同时开起好几个下载通道.当服务器提供下载服务 时,使用下载者是共享带宽的, ...

  5. 自动从mysql下载文件到powerbi_关于在Power Query和Power BI中从网页下载文件的小提示...

    ​从网络下载数据时,通常最好是从专门为机器对机器通信而设计的API中获取数据,而不是从屏幕上实际可见的站点中获取数据.下载不仅通常更快,而且还常常获得更多非常有用的附加参数.在本文中,我将向您展示如何 ...

  6. 如何利用Ajax下载文件

    Ajax下载无弹出框--原因:Ajax只能返回String类型的数据 一.当前做法: 利用ajax普通的异步请求下载的Controller,传送参数: $.ajax({type: 'POST',url ...

  7. 利用curl下载文件(进度条显示) 代码片段

    在项目中需要用到程序更新的功能,同事介绍说是curl中的开发库很不错,于是下载这个包测试了一下,确实不错.准备正式用到项目中,以下一个例子用于从互联网上抓取一个文件下载到本地,并加上进度条显示,做得挺 ...

  8. Windows 8中IE10无法下载文件的解决方法

    从Windows 7以升级的方式安装Windows 8后,发现使用IE10出现无法下载文件的问题.点击网页的中下载链接IE10没有任何反应. 然后单击界面右上角的"工具"--&qu ...

  9. 实现在 .net 中使用 HttpClient 下载文件时显示进度

    在 .net framework 中,要实现下载文件并显示进度的话,最简单的做法是使用 WebClient 类.订阅 DownloadProgressChanged 事件就行了. 但是很可惜,WebC ...

最新文章

  1. C语言的单链表实现队列
  2. ABP入门系列(7)——分页实现
  3. 函数式编程语言python-写 Python 代码不可不知的函数式编程技术
  4. HTML5 之前的视频播放格式
  5. 咖啡馆的故事:FTP, RMI , XML-RPC, SOAP, REST一网打尽
  6. 微信开发学习日记(六):weiphp框架
  7. Kuberentes-入门
  8. S_ISREG等几个常见的宏(转)
  9. 如何忽略SVN目录?
  10. 毕业论文的编辑与排版大学计算机,大学毕业论文排版技巧
  11. 程序员如何实现“财务自由”?反正不是靠天天加班就能的!
  12. Kubeflow 部署采坑记录
  13. 固定资产管理系统 概要说明书说明书
  14. “限时分享“ 本地80个小游戏 HTML+CSS+JS源码分享
  15. Zeppelin Job monitor打开
  16. 效率神器工具,看这篇就够了!
  17. 阿里旗下,豆瓣等滑块验证码解决问题
  18. c#控件listview
  19. 研究区域内测高卫星数据选取(pass)--以T/P-Jason1/2/3为例
  20. 【项目源码】JSP超市积分管理系统源码下载

热门文章

  1. 对于出差的看法_我对于挑选背包的一些小建议
  2. 找不到java.vbs_无法找到脚本*.VBS的脚本引擎解决办法
  3. 《STL源码剖析》--知识点
  4. win7-X64下用VM安装linux系统CentOS
  5. 【深度学习】单位高斯化
  6. 计算机视觉、机器学习相关领域论文和源代码大集合
  7. mysql dba系统学习(16)mysql的mysqldump备份
  8. 通过索引优化含ORDER BY的MySQL语句
  9. CUDA系列学习(四)Parallel Task类型 与 Memory Allocation
  10. Coursera课程Python for everyone:Quiz: Object Oriented Programming