/// <summary> /// 获取微信方文件转换为我方图片Url /// </summary> /// <param name="weixinFileId">微信文件ID</param> /// <returns>成功=返回我方文件url</returns> public static WeixinFileInfo ConvertToLocalUrl(string weixinFileId, string token) { WeixinFileInfo result = new WeixinFileInfo { Code = -14444, Message = "未知异常" }; try { string fileId = weixinFileId; Exception ex = new Exception(); bool _iswater = false; //默认不打水印 bool _isthumbnail = false; //默认不生成缩略图 string imgUrl = "http://file.api.weixin.qq.com/cgi-bin/media/get?access_token=" + token + "&media_id=" + fileId; //LogHelp.SysLog(imgUrl,ex ,"微信上传图片功能"); string api = "weixin"; result = fileSaveAs(imgUrl, _isthumbnail, _iswater, false, false, true, api); result.WeixinId = fileId; return(result); } catch (Exception ex) { _Logger.Error("ConvertToLocalUrl:" + ex.ToString(), ex); result.Code = -10000; result.Message = ex.ToString(); result.Data = ""; //return "{\"msg\": 0, \"msgbox\": \"上传过程中发生意外错误!\"}"; } return(result); }
/// <summary> /// 文件上传方法C /// </summary> /// <param name="postedFile">文件流</param> /// <param name="isThumbnail">是否生成缩略图</param> /// <param name="isWater">是否打水印</param> /// <param name="isReOriginal">是否返回文件原名称</param> /// <param name="_isMuint"></param> /// <param name="myfilename">定义好的文件名</param> /// <returns>服务器文件路径</returns> private static WeixinFileInfo fileSaveAs(string imgUrl, bool isThumbnail, bool isWater, bool _isImage, bool _isReOriginal, bool _isMuint, string api) { WeixinFileInfo result = new WeixinFileInfo { Code = -14444, Message = "未知异常" }; try { string guidName = Guid.NewGuid().ToString() + ".jpg"; byte[] imgData = GetImgByte(imgUrl); string resultJosn = UpFileInterface(imgData, guidName, api); dynamic objAll = JsonConvert.DeserializeObject <dynamic>(resultJosn); string code = objAll.Code; //返回代码 10000成功,其他失败 if (code == "10000") { result.Code = 10000; result.ImageUrl = objAll.Uri; result.FileSize = imgData.Length; result.Message = "OK"; return(result); } else { //return "{\"msg\": 0, \"msgbox\": \"该图片含有无法解析的未知格式,请处理后重新上传!\"}"; result.Code = -10000; result.Message = "获取图片失败。" + resultJosn; result.Data = ""; return(result); } } catch (Exception ex) { _Logger.Error("fileSaveAs", ex); result.Code = -10000; result.Message = ex.ToString(); result.Data = ""; //return "{\"msg\": 0, \"msgbox\": \"上传过程中发生意外错误!\"}"; } return(result); }