微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何从 Vec<u8> 写入文件?

如何解决如何从 Vec<u8> 写入文件?

我有一个 base64 图像并从中获取 Vec<u8> 并将它们写入文件。 这是我的代码

let file_contents_base64: Vec<u8> = image_base64::from_base64(
    String::from(&file_contents_string_vec[0])
);

我想将 file_contents_base64 变量写入文件

解决方法

您使用 image-base64 crate 的事实似乎与该问题无关。考虑到您只想将 Vec<u8> 写入文件,那么您可以使用例如fs::write()

use std::fs;
use std::path::Path;

let file_contents_base64: Vec<u8> = ...;
let path: &Path = ...;

fs::write(path,file_contents_base64).unwrap();
,

除了 fs::write 之外,通过使用 Write,还有一个适用于所有实现 write_all trait 的通用解决方案:

use std::io::Write; // bring trait into scope
use std::fs;

// ... later in code
let file = OpenOptions::new()
    .write(true)
    // either use ? or unwrap since it returns a Result
    .open("/path/to/file")?;

file.write_all(&file_contents_base64);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。