/// <summary>
        ///     WapperServiceResponse
        /// </summary>
        /// <param name="request"></param>
        /// <param name="response"></param>
        protected virtual void WapperServiceResponse(HttpRequestMessage request, HttpResponseMessage response)
        {
            if (!response.IsSuccessStatusCode)
            {
                return;
            }

            object data;

            //无返回值
            if (!response.TryGetContentValue(out data) || data == null)
            {
                response.StatusCode = HttpStatusCode.OK;
                response.Content    = new ObjectContent <ServerResponse>(
                    ResponseProvider.Success(), new JsonMediaTypeFormatter());
                return;
            }
            //错误情况
            if (data is ServerResponse)
            {
                return;
            }
            //构建返回值
            response.Content = new ObjectContent <ServerResponse>(
                ResponseProvider.Success(data), new JsonMediaTypeFormatter()
                );
        }
Esempio n. 2
0
        public BaseResponse(object model, ISerializer serializer, NancyContext context, string mediaType)
        {
            if (serializer == null)
            {
                throw new InvalidOperationException("Serializer not set");
            }
            var responseModel = ResponseProvider.Success(model);

            this.ContentType = mediaType;
            this.Contents    = this.BuildContent(serializer, responseModel);
        }
        /// <summary>
        ///     上传本地文件(本地路径)
        /// </summary>
        /// <param name="key">用于获取阿里云的中图片的唯一值</param>
        /// <param name="fileToUpload">本地路径</param>
        public static ServerResponse <FileData> UpLoad(string key, string fileToUpload)
        {
            //          var fileExtensionName = Path.GetExtension(fileToUpload); //文件扩展名
            //var upLoadPath = "/Upload/" + DateTime.Now.ToString("yyyy") + "/" + DateTime.Now.ToString("MM") + "/";
            var filePath = $"{key}"; //云文件保存路径

            try
            {
                Client.PutObject(Config.BucketName, filePath, fileToUpload);
                var fielData = new FileData
                {
                    Url = Config.BucketName + "." + Config.Endpoint + "/" + filePath
                };
                return(ResponseProvider.Success(fielData, "成功"));
            }
            catch (Exception ex)
            {
                return(ResponseProvider.Error <FileData>(ex.Message));
            }
        }
        /// <summary>
        ///     删除
        /// </summary>
        public static ServerResponse Remove(string key)
        {
            try
            {
                var listResult         = Client.ListObjects(Config.BucketName);
                var ossObjectSummaries = listResult.ObjectSummaries.FirstOrDefault(x => x.Key == key);
                if (ossObjectSummaries != null)
                {
                    Client.DeleteObject(Config.BucketName, ossObjectSummaries.Key);
                }

                return(ResponseProvider.Success("成功"));
            }
            catch (OssException ex)
            {
                return(ResponseProvider.Error("失败" + ex.Message));
            }
            catch (Exception ex)
            {
                return(ResponseProvider.Error("失败" + ex.Message));
            }
        }
        /// <summary>
        ///     从指定的OSS存储空间中获取指定的文件
        /// </summary>
        /// <param name="key">要获取的文件的名称</param>
        /// <param name="fileToDownload">文件保存的本地路径</param>
        public static ServerResponse Down(string key, string fileToDownload)
        {
            try
            {
                var info = Client.GetObject(Config.BucketName, key);
                using (var requestStream = info.Content)
                {
                    var buf = new byte[1024];
                    var fs  = File.Open(fileToDownload, FileMode.OpenOrCreate);
                    var len = 0;
                    while ((len = requestStream.Read(buf, 0, 1024)) != 0)
                    {
                        fs.Write(buf, 0, len);
                    }
                    fs.Close();
                }

                return(ResponseProvider.Success("成功"));
            }
            catch (Exception ex)
            {
                return(ResponseProvider.Success("失败:" + ex.Message));
            }
        }
        /// <summary>
        /// AsSuccess
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="data"></param>
        /// <returns></returns>
        public virtual IActionResult AsSuccessJson <T>(T data)
        {
            var serverResponse = ResponseProvider.Success(data);

            return(Ok(serverResponse));
        }
        /// <summary>
        /// AsSuccess
        /// </summary>
        /// <typeparam name="T"></typeparam>
        /// <param name="response"></param>
        /// <param name="data"></param>
        /// <returns></returns>
        public static Response AsSuccessJson <T>(this IResponseFormatter response, T data) where T : class
        {
            var serverResponse = ResponseProvider.Success(data);

            return(response.AsJson(serverResponse));
        }