将数据从 server/app.js 传递到控制器 Angular-fullstack + multer

Posted

技术标签:

【中文标题】将数据从 server/app.js 传递到控制器 Angular-fullstack + multer【英文标题】:Passing data from server/app.js to controller Angular-fullstack + multer 【发布时间】:2015-08-31 14:29:24 【问题描述】:

我正在努力将文件名从 server/app.js 传递到 client/app/ 中的控制器

我正在使用 Multer 处理文件上传,它工作正常,但我需要将文件名传递回客户端以在下一个视图中显示。

这是我的代码:

服务器/app.js

app.use(multer( dest: 'client/assets/uploads',
 rename: function (fieldname, filename) 
    return filename+Date.now();
  ,
    onFileUploadStart: function (file) 
      console.log(file.originalname + ' is starting ...')
    ,
    onFileUploadComplete: function (file) 
      console.log(file.fieldname + ' uploaded to  ' + file.path)
      done=true;
    
));


app.post('/api/photo',function(req,res)
  if(done==true)
    photoName = req.files.userPhoto.name;
    res.json(photoName);
  
);

它显示了新的文件名,但我需要它以可用的形式出现,因为我正在做所有这些服务器端的工作,所以我的控制器中没有任何东西可以处理传入的响应。

任何帮助将不胜感激。

【问题讨论】:

【参考方案1】:

好的,所以在与这个问题斗争了一整天之后,我得到了一个有效的修复方法,所以我想我会与你分享它,但确实必须有一种更清洁、更优雅的方式来做到这一点:

app.post('/api/photo',function(req,res)
  if(done==true)
    photoName = req.files.userPhoto.name;
    photoName = encodeURIComponent(photoName);
    res.redirect('../course?img=' + photoName);
  
);

只需在查询字符串中发送我需要的数据并在客户端获取它。

如果有人可以对此进行改进,请发布。

干杯。

【讨论】:

以上是关于将数据从 server/app.js 传递到控制器 Angular-fullstack + multer的主要内容,如果未能解决你的问题,请参考以下文章

将数据从控制器传递到 HTML 模板

如何使用 AJAX 将数据从视图传递到控制器

将数据从 viewcontroller tableview 传递到另一个视图控制器

将数据从视图控制器传递到另一个视图控制器

Codeigniter:将数据从控制器传递到视图

Swift:将数据从视图控制器传递到导航控制器