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来访问 ...
随机推荐
- Delphi中获取某类的祖先类及其所在单元名称(使用GetTypeData(PClass.ClassInfo)函数,并且该类是从TPersistent类的派生类才可以这么使用)
前几天在CSDN社区看到一篇<如何得到自身单元名称>的帖子,其中一位名为sdzeng网友给出了答案.受此启发,自己写了一个函数,用来获取指定类的所有祖先类的名称及其所在的单元名称. //参 ...
- Android中ProgressDialog的应用
下面通过实现点击按钮来显示加载框,2秒后自动消失. 1.首先在layout的xml中添加一个按钮: <Button android:id="@+id/button1" and ...
- 多校第五场 归并排序+暴力矩阵乘+模拟+java大数&记忆化递归
HDU 4911 Inversion 考点:归并排序 思路:这题呀比赛的时候忘了知道能够用归并排序算出逆序数,可是忘了归并排序的实质了.然后不会做-- 由于看到题上说是相邻的两个数才干交换的时候.感觉 ...
- 出现异常 child->m_pParent == 0
在cocos2d-x中,能够用CCNode类 自己new一个节点(或是用CCnode::node().create()),当将它作为其它若干item(如button项.sprite项.image项)的 ...
- 可编辑的表格:jQuery+PHP实现实时编辑表格字段内容
在本例中,我们会通过jQuery实现单击将一个文本信息变为可编辑的表单,你可以对文本内容进行编辑,然后点击“确定”按钮,新的内容将发送到后台PHP程序处理,并保存到数据库:当点击“取消”按钮,则页面恢 ...
- Eclipse 修改maven 仓储Repository位置
简述: 使用两个Nexus, 需要配置两份不同的Maven仓库 步骤: 1. 下载新的Maven运行包 2. 进入conf/ 修改setting.xml项 <localRepository> ...
- form不提交问题
var confirmOrderForm=document.getElementById("confirmOrderForm"); var url="${pageCont ...
- ThinkPHP 自动创建数据、自动验证、自动完成详细例子介绍(十九)
原文:ThinkPHP 自动创建数据.自动验证.自动完成详细例子介绍(十九) 1:自动创建数据 //$name=$_POST['name']; //$password=$_POST['password ...
- 在web网页中正确使用图片格式
今天又看了一遍淘宝平四分享的PPT,以前转载网址:http://blog.sina.com.cn/s/blog_995c1f6301017fd2.html
- OpenAuth.net
基于DDDLite的权限管理OpenAuth.net 1.0版正式发布 距离上一篇OpenAuth.net的文章已经有5个多月了,在这段时间里项目得到了很多朋友的认可,开源中国上面的Star数接近 ...