在线时间:8:00-16:00
迪恩网络APP
随时随地掌握行业动态
扫描二维码
关注迪恩网络微信公众号
{************************************************************************** 名称: BaseImage 参数: fn: TFilename 返回值: string 功能: 将fn文件转换成Base64编码,返回值为编码 **************************************************************************} 转成base64后,MemoryStream比原图的流小,便于上传。 //先压缩图片,再将压缩的图片转换成base64 这里我出了一个错误,就是在压缩图片后,直接加载到base64后,m2中没有内容, 但把m1.clear后,再加载是有内容的,刚开始我也不知道,很奇怪的问题, 但后来问了大神,说要m1.position := 0;置为0后,才能加载。 原因在于转换成base64时,m1指针在最后一位,但转换时又是从指针开始, 所以指针后面会没内容。(又进一步的理解指针了)
procedure Base64Put(Base64Str,FileName:String);//base64字符串保存为文件 // 解码 var m:TMemoryStream; b:TBytes; begin b:=DecodeBase64(Base64Str); m:=TMemoryStream.Create; m.Write(b,length(b)); m.SaveToFile(FileName); FreeAndNil(m); end; function Base64Get(FileName:String):String;//读出文件内容为base64字符串 // 转码 var m:TMemoryStream; s:TStringStream; begin result:=''; if(FileExists(FileName)) then begin m:=TMemoryStream.Create; s:=TStringStream.Create; m.LoadFromFile(FileName); encddecd.EncodeStream(m,s); result:=s.DataString; FreeAndNil(m); FreeAndNil(s); end; end;
|
2023-10-27
2022-08-15
2022-08-17
2022-09-23
2022-08-13
请发表评论