当我尝试使用 vue 中的网站下载 apk 文件时,出现一个奇怪的错误:
基于How to download a locally stored file in VueJS ,我尝试使用此命令下载本地文件:
<a href="../../app-debug.apk" download="client.apk">Download</a>
但是无论我在 href 中输入什么,下载的文件始终是这个文件:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1.0">
<link rel="icon" href="/favicon.ico">
<title>client_web</title>
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css">
<link href="/js/app.js" rel="preload" as="script"><link href="/js/chunk-vendors.js" rel="preload" as="script"></head>
<body>
<noscript>
<strong>We're sorry but client_web doesn't work properly without JavaScript enabled. Please enable it to continue.</strong>
</noscript>
<div id="app"></div>
<!-- built files will be auto injected -->
<script type="text/javascript" src="/js/chunk-vendors.js"></script><script type="text/javascript" src="/js/app.js"></script></body>
</html>
我不明白这个文件来自哪里,以及如何让我的链接下载 apk 文件。
编辑:vue.config.js
"transpileDependencies": [
"vuetify"
],
chainWebpack: config => {
config.module
.rule('apk')
.test(/\.(apk)$/)
.use('apk-loader')
.loader('apk-loader')
.end();
}
}
目录树:
│ └──views
│ └──APKDownload.vue
└──app-debug.apk```
最佳答案
可能有两个问题:
- 服务器不允许您下载“.apk”文件。
- 存在路径问题。检查它的最快方法是在 DevTools/Network 中,当您使用
../../app-debug.apk
时,使用什么 url 来下载文件。
关于javascript - 在vue中下载总是返回相同的html页面,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60390854/