我在C ++的帮助下从事套接字编程。我必须编写一个代码来下载文件。 我的Http标题是:
char header[] = "HTTP/1.1 200 OK\r\nContent-Type:application/vnd.ms-excel;Content-Disposition:attachment;filename:\"abc.xls\";Content-Length:14; \r\n\r\n";
但文件下载为“下载”,它也没有扩展名。 我也试过
char header[] = "HTTP/1.1 200 OK\r\nContent-Type:application/octet-stream;Content-Disposition:attachment;filename:\"abc.xls\";Content-Length:14; \r\n\r\n";
但它不起作用。 任何人都可以帮我解决这个问题。?
答案 0 :(得分:1)
您尝试过的HTTP响应标头如下所示:
HTTP/1.1 200 OK
Content-Type:application/vnd.ms-excel;Content-Disposition:attachment;filename:"abc.xls";Content-Length:14;
相反它应该看起来像这样
HTTP/1.1 200 OK
Content-Type:application/vnd.ms-excel
Content-Disposition:attachment;filename="abc.xls"
Content-Length:14
我建议您在尝试实施协议之前研究相关标准。在这种情况下,这是HTTP标准(RFC 7230并遵循RFC)和“使用内容 - 处置标头字段” 超文本传输协议(HTTP)“(RFC 6266)。