/// <summary> /// 发送 byte[] 数据,可选择加密或明文发送 /// </summary> /// <param name="PostUri"></param> /// <param name="Content">待加密的内容</param> /// <param name="IsEncryptoSend">是否加密发送</param> /// <param name="enableKeyIV">是否允许DES的加密算法Key,IV使用一致的</param> /// <returns>WebResponse</returns> public static WebResponse Send(string PostUri, string Content, bool IsEncryptoSend, bool enableKeyIV) { if (IsEncryptoSend) { string publicKey = FileHelper.ReadFile(FunctionHelper.GetRealFile(FunctionHelper.GetAppSettings("publicKey"))); string desKey = StringHelper.RandomSTR(8); string desIV = desKey; string rsaDes = ""; string encryptContent = cs.EncryptString(Content, publicKey, desKey, desIV, out rsaDes); Hashtable ht = new Hashtable(); ht.Add("CS_DESSTRING", rsaDes); return(cs.Send(PostUri, encryptContent, ht)); } else { return(cs.Send(PostUri, Content)); } }
/// <summary> /// 上传文件 /// </summary> /// <param name="upfile">获取客户段上传的文件</param> /// <param name="limitType">允许上传的文件类型,null值为无限制</param> /// <param name="limitSize">上传文件的大小限制(0为无限制)</param> /// <param name="autoName">是否自动命名</param> /// <param name="savepath">上传文件的保存路径</param> /// <returns>string[]</returns> public static string[] UploadFile(HttpPostedFile upfile, string limitType, int limitSize, bool autoName, string savepath) { string[] strResult = new string[5]; string[] extName = null; if (!Object.Equals(limitType, null) || Object.Equals(limitType, "")) { extName = FunctionHelper.SplitArray(limitType, ','); } int fileSize = upfile.ContentLength; // 上传文件大小 string fileClientName = upfile.FileName; // 在客户端的文件全路径 string fileFullName = Path.GetFileName(fileClientName); // 上传文件名(包括后缀符) if (fileFullName == null || fileFullName == "") { strResult[0] = "无文件"; strResult[1] = ""; strResult[2] = ""; strResult[3] = ""; strResult[4] = "<font color=red>失败</font>"; return(strResult); } else { string fileType = upfile.ContentType; // 上传文件的MIME类型 string[] array = FunctionHelper.SplitArray(fileFullName, '.'); string fileExt = array[array.Length - 1]; // 上传文件后缀符 int fileNameLength = fileFullName.Length - fileExt.Length - 1; string fileName = ""; // 上传文件名(不包括后缀符) if (autoName) { fileName = "_" + StringHelper.MakeName(); } else { fileName = fileFullName.Substring(0, fileNameLength); } string savename = fileName + "." + fileExt; strResult[0] = fileClientName; strResult[1] = savename; strResult[2] = fileType; strResult[3] = fileSize.ToString(); bool EnableUpload = false; if (limitSize <= fileSize && limitSize != 0) { strResult[4] = "<font color=red>失败</font>,上传文件过大"; EnableUpload = false; } else if (extName != null) { for (int i = 0; i <= extName.Length - 1; i++) { if (string.Compare(fileExt, extName[i].ToString(), true) == 0) { EnableUpload = true; break; } else { strResult[4] = "<font color=red>失败</font>,文件类型不允许上传"; EnableUpload = false; } } } else { EnableUpload = true; } // 符合上传条件,开始执行上传文件操作。 if (EnableUpload) { try { string savefile = savepath + savename; FileHelper.WriteFile(savefile, "临时文件"); upfile.SaveAs(savefile); strResult[4] = "成功"; //strResult[4] = "成功<!--" + FunctionHelper.GetRealPath(savepath) + savename + "-->"; } catch (Exception exc) { strResult[4] = "<font color=red>失败</font><!-- " + exc.Message + " -->"; } } return(strResult); } }
/// <summary> /// 发送方获取接收方返回的信息 /// </summary> /// <param name="res">返回给发送方的 Response 对象</param> /// <param name="CS_RESULT">返回操作结果</param> /// <returns>string</returns> public static string GetResponseContent(WebResponse res, out string CS_RESULT) { CS_RESULT = FunctionHelper.CheckValiable(res.Headers["CS_RESULT"]) ? res.Headers["CS_RESULT"] : ""; return(cs.GetResponseStream(res)); }