首页 > 解决方案 > Vuetify v-btn :href 下载在浏览器中打开 XML 而不是下载

问题描述

我很难制作v-btn下载XML文件而不是在浏览器中打开它。

 <v-btn :disabled="!exportUrl" block x-large height="100" color="primary" :href="exportUrl" download>
      <v-icon left>
        mdi-download
      </v-icon>
      Stiahnuť
    </v-btn>

据我所知,它应该下载文件,而不是打开 URL。那有什么问题?

编辑

网址是http://127.0.0.1:8000/media/4e01d486-ee75-42bc-b695-8b365910ff3e.xml

编辑 2

渲染出来的html样子是这样的:

<a data-v-51b210ff="" href="http://127.0.0.1:8000/media/10d4a7ad-399d-4003-8841-17eb98769ad9.xml" class="v-btn v-btn--block v-btn--is-elevated v-btn--has-bg theme--light v-size--x-large primary" style="height: 100px;" download=""><span class="v-btn__content"><i data-v-51b210ff="" aria-hidden="true" class="v-icon notranslate v-icon--left mdi mdi-download theme--light"></i> Stiahnuť </span></a>

标签: javascripthtmlvue.jsvuetify.js

解决方案


它取决于文件响应中设置的 Content-Type 标头。

如果是application/xml,文件将以文本形式打开。如果它是 abcent 或application/octet-stream,则将触发下载操作。

看到这个问题What content type to force download of text response?


推荐阅读