小编use*_*497的帖子

Node.js/Express:中间件内的异步功能?

我想知道如何使异步函数在中间件中工作?通常await在函数前面会完成工作,但在中间件中似乎无法正常工作.

index.js:

const bob= require('../middleware/bob');
router.get('/', [bob(['channel1','channel2','channel3'])], async (req, res) => {
    console.log('3')
})
Run Code Online (Sandbox Code Playgroud)

中间件/ bob.js:

async function test(){
    setTimeout(() => {
        console.log('1')
    }, 2000);
}

module.exports = function(channels){
   return async(req, res, next) =>{
        await test();
        console.log('2')

        next();
    }
}
Run Code Online (Sandbox Code Playgroud)

当我运行此代码时.它将写入控制台:2 3 1

middleware node.js express

4
推荐指数
1
解决办法
350
查看次数

Angular 7:如何提交文件/图像以及我的响应式表单?

我创建了带有文本输入的简单反应式表单,当提交表单时,我想传递来自文件输入的图像。每次我谷歌我得到教程,他们告诉我如何上传文件,但它是在没有其他输入字段的情况下完成的。我明白如何做到这一点,我不明白如何在一次提交中同时提交我的表单和文件输入。

在我的场景中,我不应该使用响应式表单,而是简单地new FormData()将每个输入附加到其中吗?

如果我能做到,请给我一个简单的例子。

编辑:如何在 Angular2 反应形式中包含文件上传控件?这不是答案。回答市场没有随反应形式一起发布文件,它是单独发布文件。

angular angular-reactive-forms angular-forms

3
推荐指数
1
解决办法
8932
查看次数

Angular 5:在自定义验证器中调用服务方法

基本上我已经创建了包含getUserByAlias方法的用户服务。出于测试目的,它除了打印字符串之外什么都不做。我一直在关注视频教程,在教程中他基本上表明您需要确保服务已导入,然后包含在@component 中,然后包含在构造函数中。所以我的文件看起来像这样:

创建-account.component.ts

import { Component, OnInit, NgModule, Injector, Injectable } from '@angular/core';
import { FormBuilder, FormControl, Validators, FormArray, FormGroup, AbstractControl, ValidatorFn, AsyncValidator, AsyncValidatorFn, ValidationErrors, NG_ASYNC_VALIDATORS } from '@angular/forms';
import { faCheck } from '@fortawesome/free-solid-svg-icons';
import { Observable } from 'rxjs';
import { UserService } from '../user.service';




const passwordValidator: ValidatorFn = (fg: FormGroup): ValidationErrors | null => {
    var pw =  fg.get('password');
    var pw2 =  fg.get('passwordre');
    if(pw2.value.length == 0){
        return null
    }
    if(pw && pw2 && pw.value !== …
Run Code Online (Sandbox Code Playgroud)

angular

2
推荐指数
1
解决办法
1717
查看次数

注意:未定义索引:图像输入

可能重复:
未定义的索引:文件

嗨,我现在正在学习如何将图像上传到数据库,但我收到此错误/通知

注意:未定义的索引:第19行的C:\ xampp\htdocs\Pildibaas\index.php中的图像

这是我的index.php整码:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Image upload</title>
</head>

<body>
    <form action="index.php" method="POST" enctype="multipart/form-data">
        File:
        <input type="file" name="image"> <input type="submit" value="Upload"> 
    </form>


<?php
mysql_connect ("localhost", "root", "") or die (mysql_error());
mysql_select_db ("databaseimage") or die (mysql_error());


?>
</body>

</html>
Run Code Online (Sandbox Code Playgroud)

从index.php中删除第19行(此行给出错误):

echo $file = $_FILES['image']['tmp_name'];
Run Code Online (Sandbox Code Playgroud)

从谷歌发现我需要更改tmp文件夹的预先安排,但它已经准备好了它需要的所有预备.

在教程中他没有得到这个错误

谢谢

php database xampp upload

1
推荐指数
1
解决办法
5万
查看次数

Angular 5:有没有办法隐藏API调用?还是将其设为私有?

我开始学习Angular,并发现可以从开发人员工具中看到对后端的每次调用。所以当我得到这样的方法/函数时:

getUser(userId){
    return this.http.post('server/page/get-user', {id:userId});
}
Run Code Online (Sandbox Code Playgroud)

然后在某些组件中,我会这样称呼它:

this.userService.getUser(2).subscribe((data)=> {
    console.log(data)
})
Run Code Online (Sandbox Code Playgroud)

根据发布的用户ID,基本上返回用户信息(名称,地址等)的内容。如果要获取随机的用户信息,他们难道不可以通过在请求有效载荷中使用随机数来对此端点进行API调用,而只是获取该用户信息吗?

我读到一些解决此问题的方法是使用JWT,它基本上是对有效负载进行加密的方法,但是没有选项可以使此api调用仅在我的应用程序中可用吗?还是至少使其对开发人员工具不可见?

angular

1
推荐指数
1
解决办法
3345
查看次数