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来访问 ...
随机推荐
- php session 管理
function do_login(){ //获取用户名和密码信息,和数据库中比对 echo 111111111; dump($_POST); dump($_SESSION); echo 222222 ...
- LV在系统重启后不能自动激活(boot.lvm&after.loca)
同类相关文章:http://blog.csdn.net/laven54/article/details/9121661 最近发现suse11sp2的系统解决了异常死机的问题之后,又引入了另外的问题,比 ...
- POJ 2112 Optimal Milking【网络流+二分+最短路】
求使所有牛都可以被挤牛奶的条件下牛走的最长距离. Floyd求出两两节点之间的最短路,然后二分距离. 构图: 将每一个milking machine与源点连接,边权为最大值m,每个cow与汇点连接,边 ...
- Spring MVC 数据验证——validate注解方式
1.说明 学习注解方式之前,应该先学习一下编码方式的spring注入.这样便于理解验证框架的工作原理.在出错的时候,也能更好的解决这个问题.所以本次博客教程也是基于编码方式.仅仅是在原来的基础加上注解 ...
- [Android学习笔记]LayoutInflater的使用
LayoutInflater用于动态载入布局,然后获取到布局中定义完成的控件引用 常在动态加载布局,和Adapter中用到 使用步骤:1.通过LayoutInflater加载xml布局文件2.从载入的 ...
- nohup sort -k1 -n -t$'\t' ./bigfile.16 -o./test/bigfile.16.ok &
nohup sort -k1 -n -t$'\t' ./bigfile.16 -o./test/bigfile.16.ok &
- BZOJ 3218(a + b Problem-二分图套值域线段树)
出这题的人是怎么想出来的…… 言归正传,这题是二分图套值域线段树. 首先经过 @Vfleaking的神奇建图后,把图拆成二分图, 不妨利用有向图最小割的性质建图(以前我一直以为最小割和边的方向无关,可 ...
- GitHub上最火的40个iOS开源项目
1. AFNetworking 在众多iOS开源项目中,AFNetworking可以称得上是最受开发者欢迎的库项目.AFNetworking是一个轻量级的iOS. Mac OS X网络通信类库,现在是 ...
- GMM高斯混合模型学习笔记(EM算法求解)
提出混合模型主要是为了能更好地近似一些较复杂的样本分布,通过不断添加component个数,能够随意地逼近不论什么连续的概率分布.所以我们觉得不论什么样本分布都能够用混合模型来建模.由于高斯函数具有一 ...
- Windows - Windows的文件名的全路径(Fully Qualified File Name)的最大长度为260字节
例如,你可以做以下实验来验证这个限制值: 在随意文件夹下新建一个文件夹. 在该新建文件夹下创建一个随意文件.使其名字长度不能再输入为止. 把该文件的全路径名copy到Microsoft Word中进行 ...