public JsonResultObject UpLoadImage(UpLoadImageRequest req) { var collection = upLoadConfig.Secures; string jsonStr = string.Empty; string upLoadImageUrl = collection["upload"].URL; var result = new JsonResultObject(); // 请求 HttpWebRequest httpWebRequest = (HttpWebRequest)WebRequest.Create(upLoadImageUrl); httpWebRequest.ContentType = "application/x-www-form-urlencoded;charset=UTF-8"; httpWebRequest.Method = "POST"; // imageByte 是base64, UTF8会修改特殊符号,在转码之前必要的匹配掉+号 req.ImageByte = req.ImageByte.Replace("+", "%2B"); string data = "type=" + req.Type + "&fileName=" + req.FileName + "&method=" + req.Method; data += "&extName=" + req.ExtName + "&sourceType=" + req.SourceType + "&imageByte=" + req.ImageByte; data += "&filePath=" + req.FilePath; data += "&index=" + req.Index; byte[] bytes = System.Text.Encoding.UTF8.GetBytes(data); httpWebRequest.ContentLength = bytes.Length; Stream requestStream = httpWebRequest.GetRequestStream(); requestStream.Write(bytes, 0, bytes.Length); requestStream.Flush(); requestStream.Close(); // 响应 try { HttpWebResponse httpWebResponse = (HttpWebResponse)httpWebRequest.GetResponse(); StreamReader streamReader = new StreamReader(httpWebResponse.GetResponseStream()); string responseContent = streamReader.ReadToEnd(); httpWebResponse.Close(); streamReader.Close(); httpWebRequest.Abort(); httpWebResponse.Close(); result = JsonHelper.ConvertToObj <JsonResultObject>(responseContent); } catch { result.status = false; result.msg = "上传失败,网络连接失败!"; } return(result); }
/// <summary> /// 上传图片 /// </summary> /// <param name="type">product,special</param> /// <param name="index">索引</param> /// <param name="filename">文件名称</param> /// <param name="filepath">文件路径</param> /// <param name="s">数据流</param> /// <returns></returns> private JXAPI.JXSdk.Utils.JsonResultObject Upload(string type, int index, string filename, string filepath, Stream s) { JXAPI.JXSdk.Service.UpLoadService us = UpLoadService.Instance; JXAPI.JXSdk.Request.UpLoadImageRequest req = new UpLoadImageRequest(); string imageByte = JXAPI.JXSdk.Utils.ImageConvertUtil.ConvertImageToBase64(s); string method = "jxdyf.upload.uploadimage.post"; string extName = "jpg"; string sourceType = "web"; req.ImageByte = imageByte; req.SourceType = sourceType; req.Method = method; req.FileName = filename; req.ExtName = extName; req.Type = type; req.FilePath = filepath; req.Index = index; var result = us.UpLoadImage(req); return(result); }