小编Iva*_*son的帖子

如何在Android中集成reCAPTCHA 2.0

有什么方法可以在Android中集成reCAPTCHA 2.0吗?我找到了这个库并让它运行起来.但是,不支持CAPTCHA的服务器端验证(它需要我在代码中提供私钥然后在应用程序内验证它而不是与我自己的服务器通信).

  1. 有没有办法在Android中集成reCAPTCHA 2.0?
  2. 或者我有办法在我自己的服务器上验证该库的CAPTCHA吗?

java android recaptcha

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

如何使用 xlsx npm 包写入特定单元格

我必须向我的 xlsm 文件中的特定单元格(例如 D4 单元格)写入一个值。我可以看到选项

XLSX.writeFile(workbook, 'out.xlsx');
Run Code Online (Sandbox Code Playgroud)

XLSX 包文档中(编写函数)

但是我没有看到任何将值写入特定单元格的内容(需要写入的值应该在哪里传递?)。或者,它不如提供的读取特定单元格值的示例那么清楚。如果有人能给我提供一个简单的代码片段示例,我会很高兴。

这是我读取特定单元格值的方式:

if(typeof require !== 'undefined') XLSX = require('C:\\Program Files\\nodejs\\node_modules\\npm\\node_modules\\xlsx');
var workbook = XLSX.readFile('xlsm');
var first_sheet_name = workbook.SheetNames[0];
var address_of_cell = 'D5';
var worksheet = workbook.Sheets[first_sheet_name];
var desired_cell = worksheet[address_of_cell];
desired_value = (desired_cell ? desired_cell.v : undefined);
console.log('Cell Value is: '+ desired_value);
Run Code Online (Sandbox Code Playgroud)

npm jasmine protractor js-xlsx sheetjs

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

如何在不声明键类型的情况下声明对象值类型?

问题陈述

我想声明mapper1它的值只能是Type1,并且mapper2它的值只能是Type2。如何在不声明密钥类型的情况下做到这一点?

背景

在 TypeScript 中,我有:

import Bar1 from './bar1'; // Type1
import Bar2 from './bar2'; // Type1
import Bar3 from './bar3'; // Type2
import Bar4 from './bar4'; // Type2

const mapper1 = {
  foo1: bar1,
  foo2: bar2,
} as const;
const mapper2 = {
  foo3: bar3,
  foo4: bar4,
} as const;
export type MapperKeys = keyof typeof mapper1 | keyof typeof mapper2;
Run Code Online (Sandbox Code Playgroud)

bar1并且bar2具有相同的类型(Type1)。bar3并且bar4 …

types typescript

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

如何在 HTTP 请求中发送缓冲区?

我在内存(缓冲区)中有一个文件 - 文件系统上没有文件。我想将该缓冲区发送到另一个使用 HTTP 协议的服务器。

例如,某些 API A在内存中创建一个文件,SignServer操作此类文件,并使用新的缓冲区进行响应。我的 API 从A获取文件并将其提供给 SignServer。

我尝试以多种方式将文件发送到 SignServer,但它一直以状态 400 进行响应(请求中缺少字段“数据”)。


我尝试过的:

var http = require('http');
var querystring = require('querystring');

var data = querystring.stringify({
    workerName: 'PDFSigner',
    data: file_buffer
});

var request = new http.ClientRequest({
    hostname: 'localhost',
    port: 8080,
    path: '/signserver/process',
    method: 'GET',
    headers: {
        'Content-Type': 'application/x-www-form-urlencoded',
        // I also tried 'multipart/form-data'
        'Content-Length': Buffer.byteLength(data)
    }
});

request.end(data);
Run Code Online (Sandbox Code Playgroud)

我尝试打印data,结果显示:

工人名称=PDFSigner&data=

这很糟糕,因为data没有设置为file_buffer. 我尝试 print file_buffer,它确实有内容(不为空,不为未定义,实际上里面有字节)。因此,对缓冲区进行字符串化会得到一个空字符串。

我尝试对请求模块执行相同的操作,但它也不起作用。 …

http node.js

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

如何将表单数据中的缓冲区发送到SignServer?

我在内存中有一个文件(在缓冲区中),它在文件系统上不存在(所以我不能只传输它).

我正在尝试使用HTTP 将其发送到SignServer.

这是我尝试这样做的方式:

var formdata = require('form-data'); var form = new formdata();

form.append('workerName', 'PDFSigner');
form.append('data', file_buffer);
// or
// escape(file_buffer.toString('binary'))
// or
// file_buffer.toString('binary') (without escaping)

var request = form.submit('http://localhost:8080/signserver/process', function(err, res) {});
Run Code Online (Sandbox Code Playgroud)

当我尝试追加file_bufferSignServer时说它data是空的:

状态400 - 上载时缺少文件内容

当我尝试追加时escape(file_buffer.toString('binary'))(如在HTTP请求如何发送缓冲区中的建议),这是同一个故事.

当我尝试追加file_buffer.toString('binary')node.js崩溃说:

node:../ src/stream_base.cc:157 int node :: StreamBase :: Writev(const v8 :: FunctionCallbackInfo&):断言`(偏移)<=(storage_size)'失败.

中止(核心倾倒)

如何在Node.JS中通过HTTP(multipart/form-data)正确发送文件(缓冲区)?

multipartform-data form-data node.js

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

为什么文字不是const(字符串除外)?

一般而言,文字是prvalues.字符串是一种特殊情况,定义为char(意义lvalue)数组.这个问题具体是关于字符串文字.

为什么不使用非字符串文字const

foo(42); // passes foo an `int`, not a `const int`.
Run Code Online (Sandbox Code Playgroud)

你不能修改非字符串文字,所以它不是有意义的const吗?

c++ language-lawyer

4
推荐指数
2
解决办法
275
查看次数

尝试find_if向量中的unique_ptr时的编译错误

这段代码:

#include <memory>
#include <vector>
#include <algorithm>

struct Foo
{
    int bar;

    Foo(const int val) :
        bar(val)
    {
    }
};

int main() {
    std::vector<std::unique_ptr<Foo>> vec;
    vec.emplace_back(std::make_unique<Foo>(42));
    Foo* ptr = vec.back().get();
    auto& it = std::find_if(vec.begin(), vec.end(), [&](std::unique_ptr<Foo>& p)
    {
        return p.get() == ptr;
    });
    if (it != vec.end())
    {
        vec.erase(it);
    }

    return 0;
}
Run Code Online (Sandbox Code Playgroud)

在MSVC中工作正常,但在GCC 5.1中出错:

prog.cpp:在函数'int main()'中:

prog.cpp:19:25:错误:从'__gnu_cxx :: __ normal_iterator*,std :: vector类型的右值开始,类型'__gnu_cxx :: __ normal_iterator*,std :: vector >>>&'的非const引用无效初始化>>'auto&it = std :: find_if(vec.begin(),vec.end(),[&](std :: unique_ptr&p)

  1. 哪个编译器被窃听?
  2. 如何从一个擦除指针std::vectorstd::unique_ptr …

c++ gcc unique-ptr

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

Typescript:声明元组索引的类型?

给定一个 TypeScript 元组,例如:

const arr = [1, 2] as const;
Run Code Online (Sandbox Code Playgroud)

我们对索引进行静态类型检查:

console.log(arr[1]);
Run Code Online (Sandbox Code Playgroud)

很好,但是

console.log(arr[2]);
Run Code Online (Sandbox Code Playgroud)

错误:

长度为“2”的元组类型“readonly [1, 2]”在索引“2”处没有元素。ts (2493)

这太棒了。


我想声明一个常量为该元组索引的类型,以便分配给该常量的内容遵循相同的约束(0 | 1)。

我试过这个:

const index: keyof typeof arr = 2 as const;
console.log(arr[index]);
Run Code Online (Sandbox Code Playgroud)

但 TypeScript 没有显示任何错误。我怀疑这个index范围number太宽泛了。

typescript

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