加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

webservice篇:其中关于调用外界数据,读取返回数据

发布时间:2020-12-16 22:47:19 所属栏目:安全 来源:网络整理
导读:通过Android中已存取的数据,返回数据(json格式,object类型数据:strJson) 业务需求:通过webservice调用外界暴露的数据并将返回来的json数据序列化,读取存入数据库表:【SQ_Event】 TODO 讲解webservice小程序应用 json序列化 讲解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 二进制流数据图片 保存进服务器指定路径
                            //保存图片到指定路径下,采用原有保存格式,/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 第一时间中包含多张图片二进制数据流格式存储的图片以路径格式存储进服务器中
                    sImgPath = sImgPath.Substring(0,sImgPath.Length - 1);//去除最后一个逗号
                    model.sImgPath = sImgPath;//第一时间中包含多张图片二进制数据流格式存储的图片以路径格式存储进服务器中
                }
                #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调用外界数据的一个应用;

实际中,得来的数据都是已经保存入数据库中了。

没有什么图片看见了。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读