webservice一片:其中在外线呼叫数据,查看返回数据
经Android数据被访问,返回的数据(json格公式,object数据类型:strJson)
业务需求:经webservice调用外部暴露数据并返回json数据序列化。阅读到数据库表:【SQ_Event】
TODO
解说webservice小程序应用
json序列化
解说webservice小程序应用
using HMFW.BLL.BaseInfo;
using HMFW.BLL.SQJS.ZJWG;
using HMFW.BLL.UserRoleManage;
using HMFW.Common;
using HMFW.Model;
using System;
using System.Collections.Generic;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Web;
using System.Web.Services;
using System.Web.SessionState; namespace HMFW.Web.WebServiceToAndroid
{
/// <summary>
/// Event 的摘要说明
/// </summary>
[WebService(Namespace = "http://tempuri.org/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
// 若要同意使用 ASP.NET AJAX 从脚本中调用此 Web 服务,请取消凝视下面行。
// [System.Web.Script.Services.ScriptService]
public class Event : System.Web.Services.WebService, IRequiresSessionState
{
private EventBLL iEventBll = new EventBLL();
UsersBLL usersBll = new UsersBLL();
sysAreaBLL sAreaBLL = new sysAreaBLL();
/// <summary>
/// 事件处理新增
/// </summary>
/// <param name="strJson"></param>
/// <returns></returns>
[WebMethod]
public String AddEvent(string strJson)
{
string resultJson = string.Empty; //返回结果变量
AndrewsResultList resultList = new AndrewsResultList();//返回结果类
SQ_Event model = null;
try
{
model = JsonHelper<SQ_Event>.JsonStringToModel(strJson);
model.gID = Guid.NewGuid();
//获取数据录入人真实名称的信息
sys_Users sys_UsersModel = new sys_Users();
sys_UsersModel.gUserID = new Guid(model.gCreateUserId.ToString());
sys_Users sys_UsersR = usersBll.GetModel(sys_UsersModel);
model.sCreateUserRealname = sys_UsersR.sRealName;
//获取所在地区名称的信息
sysArea sysAreamodel = new sysArea();
sysAreamodel.sID = model.sVillageCode;
sysArea sysAreaR = sAreaBLL.GetModel(sysAreamodel);
model.sVillageName = sysAreaR.sName;
model.iDeleteMark = 0;
model.iHandleState = 0;
model.iState = 0;
model.dCreateDate = DateTime.Now; /*************二进制流数据转换成图片******************/
Bitmap bitmap;
string[] arraysPicPath = model.sPicPath.Split(',');
//arraysPicPath = sPicPath.Split(',');//測试数据流数组
int spicLength = arraysPicPath.Length;//測试数据流长度
string sImgPath = "";
if (spicLength >= 2)//加入了图片
{
foreach (String item in arraysPicPath)
{
if (!string.IsNullOrEmpty(item))//处理最后一个为空
{
#region 二进制流数据 生成图片
//读取:二进制数据流图片生成图片
string base64Decode = item;
byte[] bt = Convert.FromBase64String(base64Decode);
System.IO.MemoryStream stream = new System.IO.MemoryStream(bt);
bitmap = new Bitmap(stream);//測试数据流数据生成图片
#endregion
#region 二进制流数据图片 保存进server指定路径
//保存图片到指定路径下,採用原有保存格式。/upload/Android/20150107/c360f61b-8230-43d0-bae8-38d479cac802.JPG
string pathPrefix = "/upload/Android/";
string path = Path.Combine(pathPrefix,
DateTime.Now.ToString("yyyyMMdd") + "/" + Guid.NewGuid() + ".JPG");//合并2个路径字符串
sImgPath += path + ',';//SQ_Event中sImgPath字段採取:逗号隔开方式进行保存多张图片[最多5张图片]
string sbst;
try
{
sbst = HttpContext.Current.Server.MapPath(path);
}
catch
{
sbst = path;
}
FileInfo fileInfo = new FileInfo(sbst);
if (!fileInfo.Directory.Exists)
fileInfo.Directory.Create();
bitmap.Save(sbst);
#endregion
}
}
}
if (!string.IsNullOrEmpty(sImgPath))
{
#region 第一时间中包括多张图片二进制数据流格式存储的图片以路径格式存储进server中
sImgPath = sImgPath.Substring(0, sImgPath.Length - 1);//去除最后一个逗号
model.sImgPath = sImgPath;//第一时间中包括多张图片二进制数据流格式存储的图片以路径格式存储进server中
}
#endregion
}
catch (Exception e)//假设解析出错,返回相关错误信息
{
resultList.sSuccess = "0";
resultList.sMessage = "參数解析出错! " + e.Message;
resultJson = JsonHelper<AndrewsResultList>.ModelToJsonString(resultList);
return resultJson;
}
try
{
if (iEventBll.Add(model))
{
resultList.sSuccess = "1";
resultList.sMessage = "运行成功! ";
resultJson = JsonHelper<AndrewsResultList>.ModelToJsonString(resultList);//对整个结果集进行序列化
return resultJson;
}
else
{
resultList.sSuccess = "0";
resultList.sMessage = "运行失败!";
resultJson = JsonHelper<AndrewsResultList>.ModelToJsonString(resultList);//对整个结果集进行序列化
return resultJson;
}
}
catch (Exception e)
{
resultList.sSuccess = "0";
resultList.sMessage = "程序运行出错! " + e.Message;
resultJson = JsonHelper<AndrewsResultList>.ModelToJsonString(resultList);
return resultJson;
}
}
}
}
json序列化
model = JsonHelper<SQ_Event>.JsonStringToModel(strJson);
TODO
图片略,这主要是使用webservice调用外界数据的一个应用;
实际中。得来的数据都是已经保存入数据库中了。
没有什么图片可见。
版权声明:本文博主原创文章,博客,未经同意不得转载。
webservice一片:其中在外线呼叫数据,查看返回数据的更多相关文章
- ASP.NET API(MVC) 对APP接口(Json格式)接收数据与返回数据的统一管理
话不多说,直接进入主题. 需求:基于Http请求接收Json格式数据,返回Json格式的数据. 整理:对接收的数据与返回数据进行统一的封装整理,方便处理接收与返回数据,并对数据进行验证,通过C#的特性 ...
- 启动一个新的activity并携带数据,返回数据给上一个activity
一.在启动一个新的activity的时候可以通过Intent携带数据,通过Intent.putExtra()方法通过键值对的形势装入数据.在新启动的activity中通过 getI ...
- Android开发:向下一个activity传递数据,返回数据给上一个activity
1.向下一个activity传递数据 activity1 Button button=(Button) findViewById(R.id.button1); button.setOnClickLis ...
- carry-检查数据接口返回数据合法性
问题背景: 在测试&部署监控过程中,我们常常会遇到外部接口返回数据不靠谱的时候.最常见的场合是从某个http获取如json和xml等结构化的结果,进行解析并处理,在这时候出现以下这几种常见类型 ...
- 【Android】7.0 Intent向下一个活动传递数据、返回数据给上一个活动
1.0 可以利用Intent吧数据传递给上一个活动,新建一个叫“hellotest01”的项目. 新建活动FirstActivity,勾选“Generate Layout File”和“Launche ...
- mongdb查询数据并且返回数据条数
var totall; var a = db.db("Magiccat").collection("jishi_content").find().count({ ...
- mybatis+mysql insert添加数据后返回数据主键id---(转)
1.根据useGeneratedKeys获取返回值,部分数据库不支持 修改mybatis xml 1 2 3 <insert id="insertUser" useGener ...
- mybatis+mysql insert添加数据后返回数据主键id
1.根据useGeneratedKeys获取返回值,部分数据库不支持 修改mybatis xml <insert id="insertUser" useGeneratedKe ...
- 浅谈WebService返回数据效率对比
原文链接 http://www.dotnetgeek.cn/xuexiwebservice1.html 一.什么是WebService: 简单通俗来说,就是企业之间.网站之间通过Internet来访问 ...
随机推荐
- ELK日志系统:Elasticsearch + Logstash + Kibana 搭建教程(转)
环境:OS X 10.10.5 + JDK 1.8 步骤: 一.下载ELK的三大组件 Elasticsearch下载地址: https://www.elastic.co/downloads/elast ...
- [置顶] 自己动手写Web容器之TomJetty之六:动态页面引入
传送门 ☞ 1.Web服务内功经脉 传送门 ☞ 2.让服务动起来 传送门 ☞ 3.掀起请求盖头来 传送门 ☞ 4.静态页面起步 传送门 ☞ 5.包装请求参数 在上一节,我们已经完成了TomJetty服 ...
- Webserver管理系列:5、利用MSConfig排查木马
木马程序最喜欢去的地方有两个一个是服务里面,一个是启动里面.利用msconfig我们能够高速的找到可疑程序. 在命令行中输入msconfig回车 选择服务项: 这里面的服务有非常多我们非常难排查,我告 ...
- Swift - 使用UIScrollView实现页面滚动切换
UIScrollView提供了以页面为单位滚动显示各个子页面内容的功能,每次手指滑动后会滚动一屏的内容. 要实现该功能,需要如下操作: 1,将UIScrollView的pagingEnabled属 ...
- 注册Dev的帮助文件
Download the CHM files from… Code: https://www.devexpress.com/Support/Documentation/download.xml?pla ...
- 《转》在win7,boa-constructor 0.6.1 的palette面板中没有控件图标的解决方法
原地址:http://blog.csdn.net/rickleo/article/details/6532595 在win7-64bit环境下,boa-constructor 0.6.1 的palet ...
- 建立地方Jekyll周边环境
近期使用github建立一个博客,只是要了解markdown语法,因为markdown后写的不是立即可见.所以,每一个成品都要经过在线调试,在线调试已经上线的文章,每次上线有反复git add, gi ...
- ZXing拍摄代码扫描之后以区分一维码、二维码、其他代码
我怎么有二维码没有联系,最近遇到一个问题,,如何推断条码扫描到一维代码或者二维代码,辛苦了一个下午下班后自己,加上网上跟踪信息. 总结出两种方式能够解决该问题(推荐採用另外一种方式): 1.改动源代码 ...
- ANSI Common Lisp 中文翻譯版 — ANSI Common Lisp 中文版
ANSI Common Lisp 中文翻譯版 — ANSI Common Lisp 中文版 ANSI Common Lisp 中文翻譯版¶
- 基于libevent, libuv和android Looper不断演进socket编程 - 走向架构师之路 - 博客频道 - CSDN.NET
基于libevent, libuv和android Looper不断演进socket编程 - 走向架构师之路 - 博客频道 - CSDN.NET 基于libevent, libuv和android L ...