GO 低内存极速 I/O 编程:无缓冲编码文件,同时计算哈希值一并上传
Golang 自带了内容相当丰富的 io 库,对 io 编程友好。最近碰到个需要发送文件的 REST api,文件内容需 base64 编码为文本,同时还要文件的 md5sum,再附加一系列其他信息,最后用 json 文本发送。最无脑的做法是将整个文件读入缓冲区,依次计算 md5sum,再把文件编码为 base64 文本,最后拼接所需的 json 文本完成发送。当然这样文件一大铁定崩内存💩,显然有更合适的做法………
Golang 自带了内容相当丰富的 io 库,对 io 编程友好。最近碰到个需要发送文件的 REST api,文件内容需 base64 编码为文本,同时还要文件的 md5sum,再附加一系列其他信息,最后用 json 文本发送。最无脑的做法是将整个文件读入缓冲区,依次计算 md5sum,再把文件编码为 base64 文本,最后拼接所需的 json 文本完成发送。当然这样文件一大铁定崩内存💩,显然有更合适的做法………