文档流下载
文档流下载
Excel、PPT、Word等文档流下载
以下是一个简单的下载示例,具体配置根据使用的请求工具有所差异
const downloadExcel = async () => {
const typeMap = {
"application/vnd.ms-excel": "xls",
"application/msword": "doc",
"application/vnd.ms-powerpoint": "ppt",
// ...
};
// 获取Excel文件,设置响应类型为arraybuffer(二进制)或者blob
const res = await getExcel({
url: "文件路径",
method: "get",
responseType: "arraybuffer", // blob
});
// 设置文件属性
const fileType = [
`${res.headers["content-type"]};charset=utf-8`,
// ...
];
// 获取文件名,也可以自己设置,但必须加上正确的后缀
//如果从响应头获取要是返回的乱码则需要后端配合进行解码处理
const contentDisposition = res.headers["content-disposition"];
const matches = contentDisposition.match(/filename=([^;]+)/);
const filename = matches && matches.length > 1 ? matches[1] : "";
const blob = new Blob([res], { type: fileType }); // 创建blob对象
const downloadElement = document.createElement("a"); // 创建a标签
const href = window.URL.createObjectURL(blob);
downloadElement.style.display = "none";
downloadElement.href = href;
downloadElement.download = filename; // 设置下载文件名
document.body.appendChild(downloadElement); // 将a标签追加到body中
downloadElement.click(); // 点击下载
document.body.removeChild(downloadElement); // 下载完成移除元素
window.URL.revokeObjectURL(href); // 释放掉blob对象
};
附上一些常见的类型
3gp ----- video/3gpp
aab ----- application/x-authoware-bin
aam ----- application/x-authoware-map
aas ----- application/x-authoware-seg
ai ----- application/postscript
aif ----- audio/x-aiff
aifc ----- audio/x-aiff
aiff ----- audio/x-aiff
als ----- audio/X-Alpha5
amc ----- application/x-mpeg
ani ----- application/octet-stream
asc ----- text/plain
asd ----- application/astound
asf ----- video/x-ms-asf
asn ----- application/astound
asp ----- application/x-asap
asx ----- video/x-ms-asf
au ----- audio/basic
avb ----- application/octet-stream
avi ----- video/x-msvideo
awb ----- audio/amr-wb
bcpio ----- application/x-bcpio
bin ----- application/octet-stream
bld ----- application/bld
bld2 ----- application/bld2
bmp ----- application/x-MS-bmp
bpk ----- application/octet-stream
bz2 ----- application/x-bzip2
cal ----- image/x-cals
ccn ----- application/x-cnc
cco ----- application/x-cocoa
cdf ----- application/x-netcdf
cgi ----- magnus-internal/cgi
chat ----- application/x-chat
class ----- application/octet-stream
clp ----- application/x-msclip
cmx ----- application/x-cmx
co ----- application/x-cult3d-object
cod ----- image/cis-cod
cpio ----- application/x-cpio
cpt ----- application/mac-compactpro
crd ----- application/x-mscardfile
csh ----- application/x-csh
csm ----- chemical/x-csml
csml ----- chemical/x-csml
css ----- text/css
cur ----- application/octet-stream
dcm ----- x-lml/x-evm
dcr ----- application/x-director
dcx ----- image/x-dcx
dhtml ----- text/html
dir ----- application/x-director
dll ----- application/octet-stream
dmg ----- application/octet-stream
dms ----- application/octet-stream
doc ----- application/msword
dot ----- application/x-dot
dvi ----- application/x-dvi
dwf ----- drawing/x-dwf
dwg ----- application/x-autocad
dxf ----- application/x-autocad
dxr ----- application/x-director
ebk ----- application/x-expandedbook
emb ----- chemical/x-embl-dl-nucleotide
embl ----- chemical/x-embl-dl-nucleotide
eps ----- application/postscript
eri ----- image/x-eri
es ----- audio/echospeech
esl ----- audio/echospeech
etc ----- application/x-earthtime
etx ----- text/x-setext
evm ----- x-lml/x-evm
evy ----- application/x-envoy
exe ----- application/octet-stream
fh4 ----- image/x-freehand
fh5 ----- image/x-freehand
fhc ----- image/x-freehand
fif ----- image/fif
fm ----- application/x-maker
fpx ----- image/x-fpx
fvi ----- video/isivideo
gau ----- chemical/x-gaussian-input
gca ----- application/x-gca-compressed
gdb ----- x-lml/x-gdb
gif ----- image/gif
gps ----- application/x-gps
gtar ----- application/x-gtar
gz ----- application/x-gzip
hdf ----- application/x-hdf
hdm ----- text/x-hdml
hdml ----- text/x-hdml
hlp ----- application/winhlp
hqx ----- application/mac-binhex40
htm ----- text/html
html ----- text/html
hts ----- text/html
ice ----- x-conference/x-cooltalk
ico ----- application/octet-stream
ief ----- image/ief
ifm ----- image/gif
ifs ----- image/ifs
imy ----- audio/melody
ins ----- application/x-NET-Install
ips ----- application/x-ipscript
ipx ----- application/x-ipix
it ----- audio/x-mod
itz ----- audio/x-mod
ivr ----- i-world/i-vrml
j2k ----- image/j2k
jad ----- text/vnd.sun.j2me.app-descriptor
jam ----- application/x-jam
jar ----- application/java-archive
jnlp ----- application/x-java-jnlp-file
jpe ----- image/jpeg
jpeg ----- image/jpeg
jpg ----- image/jpeg
jpz ----- image/jpeg
js ----- application/x-javascript
jwc ----- application/jwc
kjx ----- application/x-kjx
lak ----- x-lml/x-lak
latex ----- application/x-latex
lcc ----- application/fastman
lcl ----- application/x-digitalloca
lcr ----- application/x-digitalloca
lgh ----- application/lgh
lha ----- application/octet-stream
lml ----- x-lml/x-lml
lmlpack ----- x-lml/x-lmlpack
lsf ----- video/x-ms-asf
lsx ----- video/x-ms-asf
lzh ----- application/x-lzh
m13 ----- application/x-msmediaview
m14 ----- application/x-msmediaview
m15 ----- audio/x-mod
m3u ----- audio/x-mpegurl
m3url ----- audio/x-mpegurl
ma1 ----- audio/ma1
ma2 ----- audio/ma2
ma3 ----- audio/ma3
ma5 ----- audio/ma5
man ----- application/x-troff-man
map ----- magnus-internal/imagemap
mbd ----- application/mbedlet
mct ----- application/x-mascot
mdb ----- application/x-msaccess
mdz ----- audio/x-mod
me ----- application/x-troff-me
mel ----- text/x-vmel
mi ----- application/x-mif
mid ----- audio/midi
midi ----- audio/midi
mif ----- application/x-mif
mil ----- image/x-cals
mio ----- audio/x-mio
mmf ----- application/x-skt-lbs
mng ----- video/x-mng
mny ----- application/x-msmoney
moc ----- application/x-mocha
mocha ----- application/x-mocha
mod ----- audio/x-mod
mof ----- application/x-yumekara
mol ----- chemical/x-mdl-molfile
mop ----- chemical/x-mopac-input
mov ----- video/quicktime
movie ----- video/x-sgi-movie
mp2 ----- audio/x-mpeg
mp3 ----- audio/x-mpeg
mp4 ----- video/mp4
mpc ----- application/vnd.mpohun.certificate
mpe ----- video/mpeg
mpeg ----- video/mpeg
mpg ----- video/mpeg
mpg4 ----- video/mp4
mpga ----- audio/mpeg
mpn ----- application/vnd.mophun.application
mpp ----- application/vnd.ms-project
mps ----- application/x-mapserver
mrl ----- text/x-mrml
mrm ----- application/x-mrm
ms ----- application/x-troff-ms
mts ----- application/metastream
mtx ----- application/metastream
mtz ----- application/metastream
mzv ----- application/metastream
nar ----- application/zip
nbmp ----- image/nbmp
nc ----- application/x-netcdf
ndb ----- x-lml/x-ndb
ndwn ----- application/ndwn
nif ----- application/x-nif
nmz ----- application/x-scream
nokia-op-logo ----- image/vnd.nok-oplogo-color
npx ----- application/x-netfpx
nsnd ----- audio/nsnd
nva ----- application/x-neva1
oda ----- application/oda
oom ----- application/x-AtlasMate-Plugin
pac ----- audio/x-pac
pae ----- audio/x-epac
pan ----- application/x-pan
pbm ----- image/x-portable-bitmap
pcx ----- image/x-pcx
pda ----- image/x-pda
pdb ----- chemical/x-pdb
pdf ----- application/pdf
pfr ----- application/font-tdpfr
pgm ----- image/x-portable-graymap
pict ----- image/x-pict
pm ----- application/x-perl
pmd ----- application/x-pmd
png ----- image/png
pnm ----- image/x-portable-anymap
pnz ----- image/png
pot ----- application/vnd.ms-powerpoint
ppm ----- image/x-portable-pixmap
pps ----- application/vnd.ms-powerpoint
ppt ----- application/vnd.ms-powerpoint
pqf ----- application/x-cprplayer
pqi ----- application/cprplayer
prc ----- application/x-prc
proxy ----- application/x-ns-proxy-autoconfig
ps ----- application/postscript
ptlk ----- application/listenup
pub ----- application/x-mspublisher
pvx ----- video/x-pv-pvx
qcp ----- audio/vnd.qcelp
qt ----- video/quicktime
qti ----- image/x-quicktime
qtif ----- image/x-quicktime
r3t ----- text/vnd.rn-realtext3d
ra ----- audio/x-pn-realaudio
ram ----- audio/x-pn-realaudio
rar ----- application/x-rar-compressed
ras ----- image/x-cmu-raster
rdf ----- application/rdf+xml
rf ----- image/vnd.rn-realflash
rgb ----- image/x-rgb
rlf ----- application/x-richlink
rm ----- audio/x-pn-realaudio
rmf ----- audio/x-rmf
rmm ----- audio/x-pn-realaudio
rmvb ----- audio/x-pn-realaudio
rnx ----- application/vnd.rn-realplayer
roff ----- application/x-troff
rp ----- image/vnd.rn-realpix
rpm ----- audio/x-pn-realaudio-plugin
rt ----- text/vnd.rn-realtext
rte ----- x-lml/x-gps
rtf ----- application/rtf
rtg ----- application/metastream
rtx ----- text/richtext
rv ----- video/vnd.rn-realvideo
rwc ----- application/x-rogerwilco
s3m ----- audio/x-mod
s3z ----- audio/x-mod
sca ----- application/x-supercard
scd ----- application/x-msschedule
sdf ----- application/e-score
sea ----- application/x-stuffit
sgm ----- text/x-sgml
sgml ----- text/x-sgml
sh ----- application/x-sh
shar ----- application/x-shar
shtml ----- magnus-internal/parsed-html
shw ----- application/presentations
si6 ----- image/si6
si7 ----- image/vnd.stiwap.sis
si9 ----- image/vnd.lgtwap.sis
sis ----- application/vnd.symbian.install
sit ----- application/x-stuffit
skd ----- application/x-Koan
skm ----- application/x-Koan
skp ----- application/x-Koan
skt ----- application/x-Koan
slc ----- application/x-salsa
smd ----- audio/x-smd
smi ----- application/smil
smil ----- application/smil
smp ----- application/studiom
smz ----- audio/x-smd
snd ----- audio/basic
spc ----- text/x-speech
spl ----- application/futuresplash
spr ----- application/x-sprite
sprite ----- application/x-sprite
spt ----- application/x-spt
src ----- application/x-wais-source
stk ----- application/hyperstudio
stm ----- audio/x-mod
sv4cpio ----- application/x-sv4cpio
sv4crc ----- application/x-sv4crc
svf ----- image/vnd
svg ----- image/svg-xml
svh ----- image/svh
svr ----- x-world/x-svr
swf ----- application/x-shockwave-flash
swfl ----- application/x-shockwave-flash
t ----- application/x-troff
tad ----- application/octet-stream
talk ----- text/x-speech
tar ----- application/x-tar
taz ----- application/x-tar
tbp ----- application/x-timbuktu
tbt ----- application/x-timbuktu
tcl ----- application/x-tcl
tex ----- application/x-tex
texi ----- application/x-texinfo
texinfo ----- application/x-texinfo
tgz ----- application/x-tar
thm ----- application/vnd.eri.thm
tif ----- image/tiff
tiff ----- image/tiff
tki ----- application/x-tkined
tkined ----- application/x-tkined
toc ----- application/toc
toy ----- image/toy
tr ----- application/x-troff
trk ----- x-lml/x-gps
trm ----- application/x-msterminal
tsi ----- audio/tsplayer
tsp ----- application/dsptype
tsv ----- text/tab-separated-values
tsv ----- text/tab-separated-values
ttf ----- application/octet-stream
ttz ----- application/t-time
txt ----- text/plain
ult ----- audio/x-mod
ustar ----- application/x-ustar
uu ----- application/x-uuencode
uue ----- application/x-uuencode
vcd ----- application/x-cdlink
vcf ----- text/x-vcard
vdo ----- video/vdo
vib ----- audio/vib
viv ----- video/vivo
vivo ----- video/vivo
vmd ----- application/vocaltec-media-desc
vmf ----- application/vocaltec-media-file
vmi ----- application/x-dreamcast-vms-info
vms ----- application/x-dreamcast-vms
vox ----- audio/voxware
vqe ----- audio/x-twinvq-plugin
vqf ----- audio/x-twinvq
vql ----- audio/x-twinvq
vre ----- x-world/x-vream
vrml ----- x-world/x-vrml
vrt ----- x-world/x-vrt
vrw ----- x-world/x-vream
vts ----- workbook/formulaone
wav ----- audio/x-wav
wax ----- audio/x-ms-wax
wbmp ----- image/vnd.wap.wbmp
web ----- application/vnd.xara
wi ----- image/wavelet
wis ----- application/x-InstallShield
wm ----- video/x-ms-wm
wma ----- audio/x-ms-wma
wmd ----- application/x-ms-wmd
wmf ----- application/x-msmetafile
wml ----- text/vnd.wap.wml
wmlc ----- application/vnd.wap.wmlc
wmls ----- text/vnd.wap.wmlscript
wmlsc ----- application/vnd.wap.wmlscriptc
wmlscript ----- text/vnd.wap.wmlscript
wmv ----- audio/x-ms-wmv
wmx ----- video/x-ms-wmx
wmz ----- application/x-ms-wmz
wpng ----- image/x-up-wpng
wpt ----- x-lml/x-gps
wri ----- application/x-mswrite
wrl ----- x-world/x-vrml
wrz ----- x-world/x-vrml
ws ----- text/vnd.wap.wmlscript
wsc ----- application/vnd.wap.wmlscriptc
wv ----- video/wavelet
wvx ----- video/x-ms-wvx
wxl ----- application/x-wxl
x-gzip ----- application/x-gzip
xar ----- application/vnd.xara
xbm ----- image/x-xbitmap
xdm ----- application/x-xdma
xdma ----- application/x-xdma
xdw ----- application/vnd.fujixerox.docuworks
xht ----- application/xhtml+xml
xhtm ----- application/xhtml+xml
xhtml ----- application/xhtml+xml
xla ----- application/vnd.ms-excel
xlc ----- application/vnd.ms-excel
xll ----- application/x-excel
xlm ----- application/vnd.ms-excel
xls ----- application/vnd.ms-excel
xlt ----- application/vnd.ms-excel
xlw ----- application/vnd.ms-excel
xm ----- audio/x-mod
xml ----- text/xml
xmz ----- audio/x-mod
xpi ----- application/x-xpinstall
xpm ----- image/x-xpixmap
xsit ----- text/xml
xsl ----- text/xml
xul ----- text/xul
xwd ----- image/x-xwindowdump
xyz ----- chemical/x-pdb
yz1 ----- application/x-yz1
z ----- application/x-compress
zac ----- application/x-zaurus-zac
zip ----- application/zip
本作品采用 知识共享署名-相同方式共享 4.0 国际许可协议 进行许可。