使用angular从服务器下载文件
Download file from server with angular
我想通过REST从服务器下载文件。我想用JAVA将一些参数传递给我的程序。我找到了FileSaver.js库,它很好用,但在Safari8中没有。如何在Safari中下载文件?像这种棱角分明的http-get只在GoogleChrome中工作,我不知道如何将参数传递给http-get。我将JAVA与Spring MVC 一起使用
在后端,我们提供如下文件:
@RequestMapping(value = "/fileService/temp/{temporalLink}", method = RequestMethod.GET)
public ResponseEntity<byte[]> getFileByTemporalLink(@PathVariable @NotNull String temporalLink) {
byte[] fileContent; // get the file content somehow
String fileName; // and file name
String mediaType; // and media type
HttpHeaders headers = new HttpHeaders();
headers.setContentType(MediaType.parseMediaType(mediaType));
headers.setContentDispositionFormData("attachment", fileName);
return new ResponseEntity<>(fileContent, headers, HttpStatus.OK);
}
在前端,我们这样要求:
内部控制器:
$scope.exportProductToPdf = function (someParams) {
getFileDownloadLink(someParams).then(function (response) {
$window.location.href = '/fileService/temp/' + response;
});
};
//代码中的某个位置
var getFileDownloadLink = function(someParams) {
//we do some promise work here to determine what file is being asked
// but basically we resolve the filename.
return $q(function(resolve, reject) {
//some work here...
resolve("filename.png");
});
}
相关文章:
- 如何在生成下载文件时显示加载动画
- 直接下载文件,而不是从window.open(url)
- Javascript运行php文件,然后下载文件
- 在单击href链接的同时下载文件
- 通过javascript下载文件时设置文件名
- HTML锚标记无法在android平台中下载文件
- 链接/按钮从子文件夹下载文件--浏览器只是浏览
- iPhone强制下载文件
- 正在下载文件,同时加载另一个页面
- 如何在node.js中只下载文件的前10 KB
- 如何使用XMLHttpRequest下载文件
- 使用angular js在前端下载文件
- 使用blob从ajax结果下载文件
- 通过Android Chrome浏览器下载文件
- 使用AJAX下载文件.来自SD卡
- 如何使用phonegap从android中的URL下载文件
- 使用ajax下载文件
- 无法使用Angular JS和spring MVC打开下载文件
- 无法使用API-node.js从Google Drive下载文件
- 点击jQuery按钮下载文件