使用vba和excel,我想从网址下载一个文件,我不知道原始文件名是什么。 使用URLDownloadToFile或WinHttpRequest等其他方法,您需要命名要下载的文件。我想用原始文件名保存,就像通过导航到Internet Explorer上的URL一样。
我的网址示例: https://mysite.com/PDF/CreatePDFforProcess.aspx?ID=6370947
在Internet Explorer上,这将打开一个另存为窗口,默认文件名为sugestion。
非常感谢
答案 0 :(得分:1)
您可以从响应HTTP标头
获取文件类型和文件名(有时)示例,我通过名为xhr
的XMLHttpRequest对象获取文件:
debug.print xhr.getResponseHeader("Content-Type")
>application/pdf
debug.print xhr.getResponseHeader("Content-Disposition")
>attachment; filename="test.pdf"
您不应期望永远填充Content-Disposition
。由于您上传了一个输入文件,因此根据输入文件名称的某些变体来命名响应文件可能更有意义。