我正在使用 libwebsockets 库来实现 https 服务器。以下是通过 HTTPS 提供文件的代码,但我收到的 HTTPS 响应没有标头变量
Content-Disposition:attachment; filename=logs.zip
并在响应主体中收到文件的内容!
我这里遗漏了什么吗?我希望添加Content-Disposition
将使浏览器客户端能够下载文件。
这是我的坐骑:
struct lws_http_mount mount = {
/* .mount_next */ NULL, /* linked-list "next" */
/* .mountpoint */ "/", /* mountpoint URL */
/* .origin */ "var/www/", /* serve from dir */
/* .def */ NULL, /* default filename */
/* .protocol */ NULL,
/* .cgienv */ NULL,
/* .extra_mimetypes */ "application/zip", //NULL,
/* .interpret */ NULL,
/* .cgi_timeout */ 0,
/* .cache_max_age */ 0,
/* .auth_mask */ 0,
/* .cache_reusable */ 0,
/* .cache_revalidate */ 0,
/* .cache_intermediaries */ 0,
/* .origin_protocol */ LWSMPRO_FILE, /* files in a dir */
/* .mountpoint_len */ 1, /* char count */
/* .basic_auth_login_file */ NULL,
};
if (lws_serve_http_file(wsi, "/tmp/log.zip", "application/zip", NULL, 0) < 0) {
lwsl_err("Failed to serve file: %s\n", "/tmp/log.zp");
lws_return_http_status(wsi, HTTP_STATUS_INTERNAL_SERVER_ERROR, NULL);
return ;
}
感谢您的支持