使用nodejs、express、mean stack上传文件
File upload with nodejs, express, mean stack
我是Mean和nodejs的新手。我有一个有旧依赖关系的旧项目。我正在尝试使用angular js将图像文件上传到服务器。但它不起作用。我不知道如何在客户端和服务器端检索图像文件数据、名称、类型等。
客户端js
$scope.uploadFile = function(files,index) {
console.log("uploading file");
console.log("sticker index:" + index);
console.log("StickerGroupID:"+ $scope.stickergroup._id);
console.log("file:"+ files[0].name);
console.log("sticker : " + $scope.stickergroup.stickers[index].stickername );
$scope.stickergroup.stickers[index].stickerFileName = files[0].name ;
console.log("sticker path now:" +$scope.stickergroup.stickers[index].stickerFileName);
var fd = new FormData();
fd.append("file", files[0]);
fd.append("filename", files[0].name);
//put an upload file to temp location.
$http.post("/stickergroups/uploadstickers", fd, {
// withCredentials: true,
headers: {'Content-Type': undefined },
transformRequest: angular.identity});
服务器js
exports.uploadTempFile = function(req, res) {
console.log("uploading start");
console.log("file required :" +req.files);
var imagefile = req.files.file;
var tempDirectorySticker = tempDirectory + imagefile.originalFilename;
console.log("temp directory" + tempDirectorySticker );
fs.readFile(imagefile.path, function (err, data) {
fs.writeFile(tempDirectorySticker, data, function (err) {
res.redirect("back");
});
});};
req.files的结果是"未定义"。
感谢
您必须实际使用文件上传middleware
来获得express来解压缩请求的该部分。来自multer
文档:
var express = require('express')
var multer = require('multer')
var app = express()
app.use(multer({ dest: './uploads/'}));
console.log(req.body)
console.log(req.files)
请确保使用您正在使用的中间件用于多部分/表单数据,例如multer
https://github.com/expressjs/multer。
此外,检查是否存在CORS错误。你可以安装cors-npm模块来解决这个问题。https://www.npmjs.com/package/cors
相关文章:
- 如何播放部分音频文件
- 从桌面读取python文件时高亮显示代码
- 使用JS如何动态更改显示的html文件中的文本背景颜色
- 如何使用WCF服务和javascript表单post上传.doc文件
- 当包含另一个asp文件时,是否也包含所有引用的样式和脚本页面
- 如何在生成下载文件时显示加载动画
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- Javascript-如何读取json文件中的列并将其保存在Javascript数组中
- 将jsp文件下拉列表中的选定项分配给一个java变量(比如String selection)
- 正在SharePoint 2013母版页中添加JQuery移动文件
- 如何在php文件中获取$.post-ajax传递的值
- 直接下载文件,而不是从window.open(url)
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 使用压缩的JavaScript文件(不是运行时压缩)
- 在使用Polymer'加载所有json文件后执行方法;s的核心ajax
- 如何在elfinder插件(一个文件管理器插件)上获得上传前事件
- Javascript运行php文件,然后下载文件
- 使用nodejs、express、mean stack上传文件
- Stack Overflow如何包含Javascript文件
- JSON使用JavaScript读取本地文件(类似的问题Stack overflow没有帮助)