Javascript sails.js-上传和编辑用户头像图像

Javascript sails.js-上传和编辑用户头像图像,javascript,sails.js,Javascript,Sails.js,我在上传文件时遇到问题。当我上传图像时,sails应用程序失败。请参阅此屏幕截图以了解错误:。这张照片确实上传了 当我编辑个人资料而不更改帐户头像时,sails应用程序再次失败。在控制台中关闭后,我得到:(参见代码中的) 在UserController.js中 update: function(req, res, next){ var params = req.allParams(); res.redirect('/'); req.file('pr

我在上传文件时遇到问题。当我上传图像时,sails应用程序失败。请参阅此屏幕截图以了解错误:。这张照片确实上传了

当我编辑个人资料而不更改帐户头像时,sails应用程序再次失败。在控制台中关闭后,我得到:(参见代码中的)

在UserController.js中

update: function(req, res, next){
        var params = req.allParams();
        res.redirect('/');
        req.file('profileimage_name').upload({
            dirname: '../../assets/images/profileimage',
            maxBytes: 10000000
            },function (err, uploadedFile) {
            if (err) {
                return res.serverError(err); 
            }
            console.log(uploadedFile);

            if (uploadedFile.length === 0){
                return res.redirect('/');
                return console.log('User not updated');
            }

            var fileName = uploadedFile[0].filename;
            var fileUID = uploadedFile[0].fd.replace(/^.*[\\\/]/, '');

            params.profileimage_name = uploadedFile[0].filename;
            params.profileimage_uid = fileUID;

            User.update(req.param('id'), params, function userUpdated(err){
                console.log(req.param('id'));
                if(err) {
                    return res.redirect('/');
                }
                setTimeout(function() {
                  return res.redirect('/');
                }, 2000);
            });
        });
    },
<form class="login-form" enctype="multipart/form-data" action="/user/update/<%= req.user.id %>" method="POST">
                        <div class="row">
                            <div class="col-md-6 col-md-6 col-lg-6">
                                <input type="text" name="firstname" value="<%= req.user.firstname %>">
                            </div>
                            <div class="col-md-6 col-md-6 col-lg-6">
                                <input type="text" name="lastname" value="<%= req.user.lastname %>">
                            </div>
                        </div>
                        <div class="col-md-12 col-md-12 col-lg-12" style="padding: 0">
                            <input type="text" name="bio" value="<%= req.user.bio %>">
                        </div>
                        <div class="row">
                            <div class="col-md-6 col-md-6 col-lg-6">
                                <input type="date" name="birthday" value="<%= req.user.birthday %>">
                            </div>
                            <div class="col-md-6 col-md-6 col-lg-6">
                                <input type="text" name="email" value="<%= req.user.email %>">
                            </div>
                        </div>
                        <div class="col-md-12 col-md-12 col-lg-12" style="padding: 0">
                            <input type="text" name="password" value="<%= req.user.password %>">
                        </div>
                        <div class="col-md-12 col-md-12 col-lg-12" style="padding: 0">
                            <input type="file" name="profileimage_name" id="profileimage_uid">
                        </div>
                        <div class="col-md-12 col-md-12 col-lg-12 text-center" style="margin-top:30px; padding-left: 100px; padding-right: 100px">
                            <button type="submit" class="buttonPost">Edit</button>
                        </div>
                    </form> 
在profile.ejs中

update: function(req, res, next){
        var params = req.allParams();
        res.redirect('/');
        req.file('profileimage_name').upload({
            dirname: '../../assets/images/profileimage',
            maxBytes: 10000000
            },function (err, uploadedFile) {
            if (err) {
                return res.serverError(err); 
            }
            console.log(uploadedFile);

            if (uploadedFile.length === 0){
                return res.redirect('/');
                return console.log('User not updated');
            }

            var fileName = uploadedFile[0].filename;
            var fileUID = uploadedFile[0].fd.replace(/^.*[\\\/]/, '');

            params.profileimage_name = uploadedFile[0].filename;
            params.profileimage_uid = fileUID;

            User.update(req.param('id'), params, function userUpdated(err){
                console.log(req.param('id'));
                if(err) {
                    return res.redirect('/');
                }
                setTimeout(function() {
                  return res.redirect('/');
                }, 2000);
            });
        });
    },
<form class="login-form" enctype="multipart/form-data" action="/user/update/<%= req.user.id %>" method="POST">
                        <div class="row">
                            <div class="col-md-6 col-md-6 col-lg-6">
                                <input type="text" name="firstname" value="<%= req.user.firstname %>">
                            </div>
                            <div class="col-md-6 col-md-6 col-lg-6">
                                <input type="text" name="lastname" value="<%= req.user.lastname %>">
                            </div>
                        </div>
                        <div class="col-md-12 col-md-12 col-lg-12" style="padding: 0">
                            <input type="text" name="bio" value="<%= req.user.bio %>">
                        </div>
                        <div class="row">
                            <div class="col-md-6 col-md-6 col-lg-6">
                                <input type="date" name="birthday" value="<%= req.user.birthday %>">
                            </div>
                            <div class="col-md-6 col-md-6 col-lg-6">
                                <input type="text" name="email" value="<%= req.user.email %>">
                            </div>
                        </div>
                        <div class="col-md-12 col-md-12 col-lg-12" style="padding: 0">
                            <input type="text" name="password" value="<%= req.user.password %>">
                        </div>
                        <div class="col-md-12 col-md-12 col-lg-12" style="padding: 0">
                            <input type="file" name="profileimage_name" id="profileimage_uid">
                        </div>
                        <div class="col-md-12 col-md-12 col-lg-12 text-center" style="margin-top:30px; padding-left: 100px; padding-right: 100px">
                            <button type="submit" class="buttonPost">Edit</button>
                        </div>
                    </form> 

编辑

您使用的是哪个版本的sails?最新版本:v1.2.3您的标题错误是因为您使用了多次
res.anymethod
,只需检查您在发送后是否发送了res。我已经修复了它,谢谢@devsiodedraw使用哪个版本的sails u r?最新版本:v1.2.3您的标题错误是因为您使用了多次
res.anymethod
,只需检查您在发送后是否发送了res。我已经修复了它,谢谢@DevsiOdedra