在我的C ++程序中,我通过无线电信号下载图像(专辑封面等),需要将图像保存在公共网页文件夹中,例如/var/www/html
,以便稍后通过网页提供。
我正在开发Ubuntu 16.04,但最终,该应用程序将部署在Raspberry Pi上。我的程序是使用库uWebsockets的WebSocket服务器,并且还通过unix套接字与无线电调谐器通信。该应用程序应该在启动时自动启动,并在特定端口上充当WebSocket服务器。
这是保存图像数组的代码 -
std::string filePath = "/var/www/html/output1.jpg";
std::ofstream ofs(filePath);
ofs.write(image->c_str(), image->size()); // image is JPEG image as string array
ofs.flush();
ofs.close();
上面的代码不会在指定位置创建文件,但如果路径只是"output1.jpg"
,它将起作用。
显然,我的应用无权写入/var/www/html
。有没有办法用标准的c ++或boost来解决这个问题?
谢谢