Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Url VB6-如何在AsyncRead下载方法中获取文件名?_Url_Vb6_Download_Filenames_File Extension - Fatal编程技术网

Url VB6-如何在AsyncRead下载方法中获取文件名?

Url VB6-如何在AsyncRead下载方法中获取文件名?,url,vb6,download,filenames,file-extension,Url,Vb6,Download,Filenames,File Extension,我正在尝试使用AsyncRead下载方法下载URL中没有正常[FILENAME].[EXTENSION]的文件。下载过程中没有问题(完全下载文件并将文件保存到临时文件中)。因此,我希望获得扩展名为的真实文件名,以便将其保存到与原始文件相同的另一个位置,以便下载。 我可以获取文件名,而URL是这样的: Http://Host.com/Path/MyDoc.txt(因此我可以轻松获得文件名“MyDoc”和扩展名“.txt”,因为它是在URL中指定的) 但当下载URL时如下所示: Http://Ho

我正在尝试使用AsyncRead下载方法下载URL中没有正常[FILENAME].[EXTENSION]的文件。下载过程中没有问题(完全下载文件并将文件保存到临时文件中)。因此,我希望获得扩展名为的真实文件名,以便将其保存到与原始文件相同的另一个位置,以便下载。
我可以获取文件名,而URL是这样的:
Http://Host.com/Path/MyDoc.txt
(因此我可以轻松获得文件名“MyDoc”和扩展名“.txt”,因为它是在URL中指定的)
但当下载URL时如下所示:
Http://Host.com/Path/download.php?File=9

我无法获取真实的文件名和扩展名。有没有办法在这样的URL上获取它们?
注意:下载过程中没有问题,我可以完全下载以上两个文件。我只想获取文件名和扩展名。

没有文件名(或扩展名),因为服务器只是向您传输数据,即您从未请求过静态资源。如果您以另一种方式(MSXML.XMLHTTP)执行此操作,则最多可以在请求完成后检查内容类型头,并从中硬编码或查找从MIME类型到扩展的转换。但是没有文件名。拉网很糟糕,m'kay?@Bob77:好吧,你是什么意思?我必须使用Winsock将GET HTTP头发送到链接?然后服务器会把我能得到的扩展名的头发回来?文件名不是很重要,但我必须有扩展名,我必须做什么?AsyncRead不允许您访问响应头,因此您必须使用另一种方式发出请求。使用一个提供响应头的,如我上面提到的。使用内容类型头的值获取MIME类型。将其转换为“扩展名”,供您的程序使用。@Bob77:我使用Inet获得MIME。谢谢