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来访问 ...
随机推荐
- 将Datagridview中的数据导出至Excel中
首先添加一个模块ImportToExcel,并添加引用 然后导入命名空间: Imports Microsoft.Office.Interop Imports System.Da ...
- Delphi主窗口任务栏菜单的问题(转发WM_SYSCOMMAND到Application)
Delphi的VCL框架在创建应用时TApplication是一个自动创建的隐藏窗口,其它创建的窗口是自动以该窗口为窗口,这就导致创始的主窗口在任务栏的系统菜单只有三项,只要在主窗口的Create事件 ...
- niu人
金步国简历 金步国简历 基本资料 姓名 金步国 性别 男 年龄 30 籍贯 江苏 淮安 院校 同济大学 专业 土木工程 学历 本科肄业 工作经验 5年 期望地点 长江以南 期望薪水 18000/月 个 ...
- JAVA网络爬虫WebCollector深度解析——爬虫内核
WebCollector爬虫官网:https://github.com/CrawlScript/WebCollector 技术讨论群:250108697 怎样将爬虫内核导入自己的项目? 1.进入爬虫官 ...
- oc深坑測试题及其答案
一.选择题(共80题,每题1分) 1. 不会立马使引用计数器改变的是: 答案:(C) A.release B.alloc C.autorelease D.retain 2. 在OC中类的接口声 ...
- Mybatis 3 返回布尔值,需要注意的地方
在Mybatis中,有时候需要返回布尔值 ,来确定某个记录行是否存在. 例如: <select id="isExistCode" parameterType="st ...
- 冒泡排序 JAVA版
冒泡排序 算法思想是每次从数组末端开始比较相邻俩元素,把第i小的冒泡到数组的第i个位置.i从0一直到N-1从而完成排序.当然也可以从数组开始端开始比较相邻两元素,把第i大的冒泡到第N-i个位置.I从0 ...
- android Vibrator 用法
private Vibrator mvibrator; 1.服务的句柄 mvibrator = (Vibrator) getSystemService(VIBRATOR_SERVICE); 或者 ...
- Java中WebService实例
Web Services是由企业公布的完毕其特定商务需求的在线应用服务,其它公司或应用软件可以通过Internet来訪问并使用这项在线服务. Web Service的关键技术和规则: 1.XML:描写 ...
- Codeforces 164 E Compatible Numbers
主题链接~~> 做题情绪:好题,做拉的比赛的时候想了非常久,想到枚举变幻某一位的 0 为 1 .可是每一个数都这样枚举岂不超时的节奏,当时没想到事实上从大到小枚举一次就 ok 了. 解题思路: ...