如何在MeanJS应用程序中实现文件下载

时间:2015-04-19 22:07:24

标签: angularjs meanjs multer

我是一名移动应用开发者,也是网络应用新手。我试图使用MeanJS堆栈在Web应用程序中实现上传和下载文件。我使用multer插件将文件上传到服务器。经过大量谷歌搜索后,我成功使用了Multer上传并将文件保存到上传目录。 现在我试图实现相同的下载,我不知道这样做。我遵循了两种方法:

  1. <a target="_self" href="/uploads/{{eachDocument.modifiedFileName}}" download="{{eachDocument.fileName}}">{{eachDocument.fileName}}</a>
  2. 已使用快速服务器控制器中的路由,如http://expressjs.com/api.html#res.download
  3. 中所述

    使用方法#1应用程序永远不会下载错误“非文件”的文件,因为上传不是公共目录。

    使用方法#2,我可以获取原始文件内容,但不知道如何保存文件。

    任何人都可以告诉我如何实现使用multer上传的上传目录中保存的文件下载。

    由于

1 个答案:

答案 0 :(得分:1)

@Sridhar Chidurala,请找到我的服务器代码和视图控制器:

我正在使用以下代码用于服务器控制器:

var file = __dirname + "/../../" + results.filePath;
 res.download(file, results.filename, function (err) {
     if (err) {
     } else {
     }
  });

在视图控制器上,我发布了一些数据并根据数据将文件数据提供给视图:

$http.post(requestString, reqObject).
  success(function (response) {
    // **I get the file data here**
    console.log("success response : " + JSON.stringify(response));
   }).error(function (response) {
     console.log("error response : " + JSON.stringify(response));
   });