文件下载没有扩展套接字编程

时间:2016-10-09 06:26:58

标签: c++ sockets httpresponse

我在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";

但它不起作用。 任何人都可以帮我解决这个问题。?

1 个答案:

答案 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)。