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来访问 ...
随机推荐
- 获取synchronized锁中的阻塞队列中的线程是非公平的
synchronized中阻塞队列的线程是非公平的 测试demo: import java.text.MessageFormat; import java.text.SimpleDateFormat; ...
- 一个完善的ActiveX Web控件教程
免费打工仔:一个完善的ActiveX Web控件教程 出自Ogre3D开放资源地带 跳转到: 导航, 搜索 原作者 David Marcionek. 翻译 免费打工仔 这个教程可以帮助你快速开发一 ...
- 【PHP SDK for OpenStack/Rackspace APIs】身份验证
在你使用php-opencloud之前必须先取得云服务提供商的身份验证.这是整个过程中最简单也是最让人沮丧的部分. 说它最简单是因为你只需要两部分信息: 云服务提供商的身份验证端点 用来身份验证的证书 ...
- 特么的. 最终把 amobbs 的站长阿莫(莫进明)给回骂了一顿.
起因: 假设你居住的地方,要上马PX等高污染的项目,你会怎么做. 鼓动别人上街暴力示威与军警对抗. 自己待在家里支持怂恿. 这样的人真心猥琐! 鉴于他常常私自改动帖子, 在此截图留存. 真特么没劲. ...
- [iOS]简单的APP引导页的实现 (Swift)
在第一次打开APP或者APP更新后通常用引导页来展示产品特性 我们用NSUserDefaults类来判断程序是不是第一次启动或是否更新,在AppDelegate.swift中加入以下代码: func ...
- struts 2吊牌s:if 、s:iterator注意
疏忽,也没有相应的总结.实际上JSTL标签Struts2标签混淆.导致一些上述问题的细节.今天我给从下一个总结,同 后不要再犯这种错误. 总喜欢在s:if标签里面使用$,导致各种数据读不出来. str ...
- js封装的类似java StringBuilder类
使用js的时候,经常会使用字符串拼接,但是在IE6和IE7没有对+作优化,所以性能会很低,鉴于此,我封装了StringBuilder类,用于拼接字符串,直接把代码贴出来如下: function Str ...
- pwd的实现
#include <string.h> #include <stdlib.h> #include <dirent.h> #include <sys/types ...
- POJ3313 【随便写了个spfa就一A了,嗨皮】
我顺便明白了....英文题意理解其实好大一部分还是靠感觉,然后自己猜题意,试题意. 你要是纠结于英文你就跪了. #include <iostream> #include <cstdi ...
- UVA - 11388 GCD LCM
II U C ONLINE C ON TEST Problem D: GCD LCM Input: standard input Output: standard output The GC ...