//要下載下傳的
import FileSaver from "../../../node_modules/file-saver/FileSaver.js";
import ElOption from "../../../node_modules/element-ui/packages/select/src/option.vue";
export default {
components: {ElOption, FileSaver},
}
...
var url="/api/download_file?id="
this.$axios
.get(url + row.id.toString(),{responseType: "arraybuffer"})
.then(function(res) {
let blob = new Blob([res.data], {type: "application/pdf"});
let filename = "回執-" + (new Date().getTime().toString()) + ".pdf";
FileSaver.saveAs(blob, filename);
self.$message({
type: "success",
message: "下載下傳成功!"
});
})
.catch(function(err) {
self.$message({
type: "warning",
message: "删除失敗"
});
});
這個是必須的預設查出來的是text類型blod也行
responseType: "arraybuffer"
pdf
new Blob([res.data], {type: "application/pdf"});
excel
new Blob([res.data], {type: 'application/vnd.ms-excel;charset=utf-8'});
word(沒測)
new Blob([res.data], {type: 'application/msword;charset=utf-8'});