- 1、本文档共9页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
营销研究利用WCFREST方式上传文件如图片并和试
WCF REST方式上传文件C#服务端//------------Iservice.csusing System.ServiceModel;using System.ServiceModel.Web;[ServiceContract]publicpartialinterfaceIOfficeServiceQ{ [OperationContract]//rest下不是必须的,上传使用post,webInvoke方式 [WebInvoke(UriTemplate = uploadimage/{comment}, Method = POST, RequestFormat = WebMessageFormat.Json)]// [Description(上传图片测试)]intuploadimage(Stream pic, string comment);}//service.cs [ServiceBehavior(InstanceContextMode = InstanceContextMode.Single, Namespace = Hisense.CDService.Services, ConcurrencyMode = ConcurrencyMode.Multiple)]publicclassServiceOfficeQ : IOfficeServiceQ {publicint uploadimage(Stream pic, string comment){/*有头信息时使用,做一些辅助信息之类的 WebHeaderCollection headerCollection = WebOperationContext.Current.IncomingRequest.Headers; foreach (string item in headerCollection) { string value = headerCollection.Get(item); LogHelper.PrintAndSaveProcess(headerz;+value); } */ //下面的代码支持,客户端直接上传图片流或者带表单的文件,带表单的文件的好处是你可以从里面得到名字和类型这里的例子就以jpg类型为例子using(var ms=newMemoryStream()) { pic.CopyTo(ms); ms.Position=0;//Encoding encoding=System.Text.Encoding.UTF8;var reader=newStreamReader(ms,encoding);var headerLength=0;----------------------8cc0b8cfcfd5ed2 Content-Disposition: form-data; name=file; filename=item3.xml Content-Type: application/octet-stream 这里是真正的文件内容-----------------------8cc0b8cfcfd5ed2—//读第一行,一般表单头标志是带有“-----”字符的例如:stringfirstLine=reader.ReadLine();if (firstLine.Contains(--)) { headerLength += encoding.GetBytes(firstLine).Length + 2;//读第二行,第二行还可以获得上传文件的名字var secondLine = reader.ReadLine(); headerLength += encoding.GetBytes(secondLine).Length + 2;//var fileName = new System.Text.RegularExpressions.Regex(filename=\(?fn.*)\).Match(secondLine).Groups[fn].Value; //可能还有辅助信息,把这些行都读完,一直到一行空下面的是文件的内容while (true) {var line = read
文档评论(0)