小编arn*_*e.z的帖子

使用multer上传文件时,req.files未定义

我正在尝试在Express.js 4中构建一个上传图像的Node.js应用程序.我决定使用该multer模块,但无法访问上传的文件req.files.这是我正在使用的代码.我把它限制在那些我认为相关的部分.

玉代码:

form(method="POST", action="createPost", enctype="multipart/form-data")
        input(type="file", name="photo")
        br
        input(type="submit" value="upload")
Run Code Online (Sandbox Code Playgroud)

在routes/admin.js中:

var express = require('express');
var multer = require('multer');
var router = express.Router();
var upload = multer({dest: './uploads/'});

router.post('/createPost', upload.single('photo'), function(req, res, next) {
    console.log('files:', req.files);
    console.log('body:', req.body);
    // more code
}
Run Code Online (Sandbox Code Playgroud)

输出:

files: undefined
body: {}
Run Code Online (Sandbox Code Playgroud)

该文件存储在uploads文件夹中,但我无法访问其中的信息req.files.谁能帮我?

javascript node.js express multer

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

在 Espresso 测试中禁用自动更正功能

我编写了一个 Espresso 测试,将一些文本写入 TextView,执行操作,然后检查 TextView 中的文本是否仍然相同。

在其中一台测试设备(华为 P20、Android 8.1.0)上测试失败,因为输入的文本会自动更正(从1234 567812th 5678)。这没有通过我的测试。当我手动输入相同的数字时,文本不会自动更正。

这就是我在 Espresso 测试中输入文本的方式:

onView(withId(R.id.reference_value))
            .perform(scrollTo(), click())
            .check(matches(isDisplayed()))
            .perform(typeText("1234 5678"));
        closeSoftKeyboard();
Run Code Online (Sandbox Code Playgroud)

我知道我可以将输入文本更改为不会自动更正的内容。但我希望有一个解决方案,通常可以确保输入的文本不会被修改为其他内容。理想情况下,无需手动更改测试设备的配置。

你们中有人知道我该如何实现这一目标吗?

android ui-testing android-espresso swift-keyboard android-8.1-oreo

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

删除特定接口上的 tc 配置

我是使用 tc 命令的新手。

我正在编写一个测试脚本来为接口添加延迟。这是使用python和fabric api完成的

所以脚本将执行以下操作:

sudo tc qdisc 添加 dev eth1 root netem 延迟

在脚本结束时我们会做

sudo tc qdisc del dev eth1 root netem

但同时我想在最开始的时候确保系统上没有现有的 tc 控制。所以我想在整个脚本开始之前运行删除命令。但是如果没有完成 tc 配置,这会给我一个错误。

abc@abcvmm:~$ sudo tc qdisc del dev eth1 root netem

RTNETLINK 答案:无效参数

有没有办法仅在完成现有 tc 配置时删除配置的接口,否则不会。

trafficshaping traffic

6
推荐指数
2
解决办法
2万
查看次数

按枚举类属性过滤 Kotlin

如何按 kotlin 中的枚举类进行过滤?(刚刚学习)在下面的代码中,文件中前面定义的枚举类是PayStatus{PAID,UNPAID}.

fun nextRentDate(): LocalDate? {
            return rentPaymentSchedule.
                    filter { it.value.paymentStatus is PayStatus.UNPAID}.
                    minBy { it.value.date.toEpochDay() }?.value?.date
        }
Run Code Online (Sandbox Code Playgroud)

我收到错误:Kotlin:

不兼容的类型:PayStatus.UNPAID 和 Enum

enums kotlin

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

如何在 adb shell 中获取剪贴板内容?

service call clipboard 1在 adb shell 中运行命令来获取剪贴板内容,但它返回: Result: Parcel(fffffffc ffffffff '........'),同时我确保它在剪贴板中有内容。

我不知道如何成功运行服务剪贴板。看起来命令运行失败。我尝试运行命令:service call clipboard 3,它返回:

Result: Parcel(
  0x00000000: 00000000 00000001 00000001 ffffffff '................'
  0x00000010: 00000001 0000000a 00650074 00740078 '........t.e.x.t.'
  0x00000020: 0070002f 0061006c 006e0069 00000000 '/.p.l.a.i.n.....')".
Run Code Online (Sandbox Code Playgroud)

环境是linux + android sdk emulator + android 4.4.2,请指教如何获取剪贴板内容?谢谢!

clipboard android emulation adb

5
推荐指数
0
解决办法
4251
查看次数

致命错误,无法加载插件“linux mint 中的 sudo 错误”

我在安装 python 包时遇到一个问题:

错误是:

sudo: error in /etc/sudo.conf, line 0 while loading plugin `sudoers_policy'
sudo: /usr/lib/sudo/sudoers.so must be only be writable by owner
sudo: fatal error, unable to load plugins
Run Code Online (Sandbox Code Playgroud)

linux sudo pip

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

如何在 OSMbonuspack 标记的描述中添加新行?

我正在使用OSMbonuspack创建标记并希望添加带有单独行的描述。但是,普通的换行符 ( \n) 不起作用。所以我想知道是否有可能做到这一点。但这似乎是一件很常见的事情,所以我希望有可能这样做。我尝试了以下代码,但换行符无效:

Marker playgroundMarker = new Marker(mapView);
playgroundMarker.setPosition(new GeoPoint(latitude, longitude));
playgroundMarker.setTitle(title);
playgroundMarker.setSubDescription("first line\nsecond line");
Run Code Online (Sandbox Code Playgroud)

这导致以下描述:first line second line而不是:

first line
second line
Run Code Online (Sandbox Code Playgroud)

目前我唯一的解决方案是将描述一分为二。使用第一部分作为片段 ( playgroundMarker.setSnippet(...)) 和第二部分作为描述 (playgroundMarker.setSubDescription(...) )。但应该有更好的方法。

有任何想法吗?

android openstreetmap marker osmdroid

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

如何解决nodemailer中的CERT_UNTRUSTED错误

我正在尝试使用nodemailer发送电子邮件.我已经设法从其他主机发送它,但现在我想从另一个地址发送电子邮件.这些是我正在使用的nodemailer的版本(来自我package.json):

"nodemailer": "1.3.4",
"nodemailer-smtp-transport": "1.0.2",
Run Code Online (Sandbox Code Playgroud)

这是我关于我的网络邮件的信息:

RoundCube邮件客户端配置

我设置了这样的nodemailer:

    var transport = nodemailer.createTransport(smtpTransport({
        host: 'securemail.linevast.de',
        port: 465,
        secure: true,
        auth: {
            user: 'website@dynamic-objects.de', // this is my login name
            pass: 'mypassword'
        },
        maxConnections: 5,
        maxMessages: 10
    }));
Run Code Online (Sandbox Code Playgroud)

当我尝试发送电子邮件时,我收到以下错误消息.

[Error: certificate not trusted] code: 'CERT_UNTRUSTED'

网站已经过GeoTrust Inc的验证,所以我相信它非常值得信赖.有没有办法让nodemailer信任证书或强制它发送电子邮件,即使它不信任它?

谢谢您的帮助!

ssl-certificate node.js nodemailer

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

如何检查数据库是否已经存在

我正在编写一个将一些文档加载到 couchdb 的小型 Python 程序。检查具有特定名称的数据库是否已经存在会非常方便,因此我可以创建一个新数据库或打开现有数据库。我想做的是这样的:

import couchdb

def connect(url, dbName):
    server = couchdb.Server(url)
    if dbName exists: # how do I do this?
        return server[dbName]
    else:
        return server.create(dbName)
Run Code Online (Sandbox Code Playgroud)

我知道 try-except 块可以解决问题,但是没有更优雅的方法吗?

python couchdb couchdb-python

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