我正在创建一个简单的HTTP服务器。我需要读取被请求的图像并将其发送到浏览器。我正在使用以下代码:
fn read_file(mut file_name: String) -> String {
file_name = file_name.replace("/", "");
if file_name.is_empty() {
file_name = String::from("index.html");
}
let path = Path::new(&file_name);
if !path.exists() {
return String::from("Not Found!");
}
let mut file_content = String::new();
let mut file = File::open(&file_name).expect("Unable to open file");
let res = match file.read_to_string(&mut file_content) {
Ok(content) => content,
Err(why) => panic!("{}",why),
};
return file_content;
}
如果请求的文件是基于文本的,则此方法可行,但是当我想要读取图像时,我会收到以下消息:
流不包含有效的UTF-8
这是什么意思,如何修复?
bytes
和read_to_end
可能会有所帮助。 - Alec