Angularjs 是否有公共API返回给定文件类型的数据值?
我正在做一个项目,涉及上传和下载文件。目前可以下载的文件只有.csv和.txt。我下载文件的方法如下:Angularjs 是否有公共API返回给定文件类型的数据值?,angularjs,api,download,Angularjs,Api,Download,我正在做一个项目,涉及上传和下载文件。目前可以下载的文件只有.csv和.txt。我下载文件的方法如下: downloadFile(file).then( function (response) { var saving = document.createElement('a'); var filetype = file.fileName.split('.')[1]; if (filetype == 'csv') {
downloadFile(file).then(
function (response) {
var saving = document.createElement('a');
var filetype = file.fileName.split('.')[1];
if (filetype == 'csv') {
saving.href = 'data:attachment/csv,' + encodeURIComponent(response.data);
}
else if (filetype == 'txt') {
saving.href = 'data:plain/text,' + encodeURIComponent(response.data);
}
saving.download = file.fileName
saving.click();
},
function (data) {
console.log(data);
}
);
我想支持下载任何文件类型,但有很多文件类型。显然,我可以像在上面的代码中那样继续迭代它们,但是由于文件类型的数量很大,即使我将所有if-else逻辑都推到一个单独的方法中,这也会很快失控
是否存在一个API,我可以将文件类型扩展名(即.csv)传递给该API,并在data:as-data:attachment/csv中接收要提供的适当值?如果没有,是有更好的方法来做我正在尝试做的事情,还是我坚持使用暴力方法?我不知道有公共服务可以这样做,但你可以看看mime magic服务器端技术。它不仅查看文件扩展名,在某些情况下还查看文件内容以确定文件类型。例如,它可以确定.avi文件中mpeg4和mpeg2编码流之间的差异 查看一下您的平台的详细信息-从node.js到php,再到apache模块。。。等等