【问题标题】:Uploading a batch file to be downloaded with html使用html上传要下载的批处理文件
【发布时间】:2019-12-03 05:23:30
【问题描述】:

我创建了一个名为“example.bat”的简单批处理文件,我想通过 HTML <a href="" download> 属性下载它。这实际上适用于下载任何其他文件,但是当我为批处理文件设置 url 时,它没有下载,而是打开了一个新选项卡,其中包含跨页面编写的代码。

<a href="www.example.com/example.bat" target="_blank" download> DOWNLOAD A VIRUS </a>

我希望我的批处理文件能够下载到我的计算机上,但它却在新选项卡中打开了文件的代码。

【问题讨论】:

    标签: javascript html batch-file download href


    【解决方案1】:

    将以下行添加到您的 .htaccess 文件中:

    <Files "virus.bat">
    ForceType application/octet-stream
    Header set Content-Disposition attachment
    </Files>
    

    这会将您的文件视为附件。

    您可以在https://help.dreamhost.com/hc/en-us/articles/216363147-How-can-I-force-a-file-to-be-downloaded-找到更多关于强制下载文件而不是在浏览器中打开文件的信息

    【讨论】:

    • 这个答案不相关。问题中没有使用网络服务器。
    【解决方案2】:

    您的 HTML 实际上缺少 href 属性,并且您的文件 URI 缺少 file:。我很惊讶这对你有用。试试这个:

    <a href="file:///C:/user/admin/desktop/virus.bat" download>
      DOWNLOAD A VIRUS
    </a>
    

    现在,关于您的实际问题...对于 Chrome,download 属性被忽略跨域,并且似乎在 file:// 起源上也是如此。如果您要在实际的 Web 服务器上托管它,那就没问题了。如果没有网络服务器,你能做的最好的就是使用data URI

    <a href="data:application/bat;base64,QGVjaG8gb2ZmCkVDSE8gVGhpcyBpcyBhIHRlc3QgYmF0Y2ggZmlsZS4K" download="virus.bat">
      DOWNLOAD A VIRUS
    </a>
    

    【讨论】:

    • 我确实添加了= 和网址。但为了清楚起见,我没有从原始代码中复制并过去,所以实际代码没有这些问题。感谢您提供有关数据 URI 的建议。它现在似乎可以工作了!
    猜你喜欢
    • 2017-10-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-27
    • 2011-06-04
    • 1970-01-01
    相关资源
    最近更新 更多