小编Kev*_*dez的帖子

NodeJS - 如何从 Base64 返回 PDF 而不将文件保存在服务器上?

这是我的场景:

  • 我有一个使用 Express 在 Node 中构建的应用程序;
  • 我有一个返回 Base64 PDF 文件的外部 API;
  • 我必须获取这个 Base64 并为用户打开该文件;
  • 我无法将 PDF 保存到服务器上。

我尝试了很多方法,但无法向用户打开该文件。

我尝试过的方法:

const buff = Buffer.from(myBase64, 'base64');
const file = fs.writeFileSync('boleto.pdf', buff, { encoding: 'base64' });

try {
  res.setHeader('Content-Length', file.size);
  res.setHeader('Content-Type', 'application/pdf');
  res.setHeader('Content-Disposition', 'attachment; filename=boleto.pdf');
} catch (e) {
  return res.status(404).send({ error: e, message: 'File does not exist.', statusCode: 404 });
}
Run Code Online (Sandbox Code Playgroud)
const buff = Buffer.from(myBase64, 'base64');
const file = fs.writeFileSync('boleto.pdf', buff, { encoding: 'base64' });

try {
  res.contentType('application/pdf');
  return res.status(200).sendFile('boleto');
} catch …
Run Code Online (Sandbox Code Playgroud)

pdf file fs node.js

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

Django form.errors未显示在模板中

我已刷新 stackoverflow页面,并尝试在html模板上显示我的表单错误。我做了:

    {% if form.error %}
    {% for field in form %}
        {% for error in field.errors %}
            <div class="alert alert-danger">
                <strong>{{ error|escape }}</strong>
            </div>
        {% endfor %}
    {% endfor %}
    {% for error in form.non_field_errors %}
        <div class="alert alert-danger">
            <strong>{{ error|escape }}</strong>
        </div>
    {% endfor %}
{% endif %}
Run Code Online (Sandbox Code Playgroud)

正如在stackoverflow问题中所说的,我也尝试简单地做:

{% if form.error %}
This should pop up if there is an error
{% endif %}
Run Code Online (Sandbox Code Playgroud)

无论如何,什么都没有发生:这是我的view.py代码:

    {% if form.error %}
    {% for field in form %}
        {% …
Run Code Online (Sandbox Code Playgroud)

python forms django jinja2

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

根据渲染函数中的前一个设置状态

我最近阅读了 react.js文档,发现根据之前的状态值设置状态不一致。这是那块代码:

class Example extends React.Component {
  constructor(props) {
    super(props);
    this.state = {
      count: 0
    };
  }

  render() {
    return (
      <div>
        <p>You clicked {this.state.count} times</p>
        <button onClick={() => this.setState({ count: this.state.count + 1 })}>
          Click me
        </button>
      </div>
    );
  }
}
Run Code Online (Sandbox Code Playgroud)

我认为这种() => this.setState({ count: this.state.count + 1 })设置方式state是错误的,您应该为此目的使用回调。所以我提出了PR,其中我添加了对先前状态的回调函数的使用,但它已被弃用,因为

当您不确定捕获的状态值是什么时,回调版本很有用。

我真的不喜欢当你不是解释的某个部分时,有人可以解释为什么这种() => this.setState({ count: this.state.count + 1 })设置状态的方式是正确的。

提前致谢。

javascript setstate reactjs

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

显示 Google 表格中的最后五行

我有一个简单的个人资金追踪器,基于谷歌表单用于数据输入和电子表格用于计算、统计等。

一切工作正常,但现在我需要解决方法来显示工作表中包含来自 Google 表单的原始数据的最后五个条目。

该表如下所示: 这张表看起来像这样

我想要做的是创建新的电子表格,其中显示工作表中的最后五个条目以及来自 Google 表单的数据。请帮我找到正确的公式。

PS:如果能以我用来输入数据的谷歌形式完美地显示这些信息,但据我所知这是不可能的。

worksheet-function google-sheets google-sheets-formula

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

ESP8266 从网页获取请求返回连接器被拒绝

我希望能够将数据从网页发送到 esp8266 并控制引脚,每当我按下网页上的按钮时,它都会返回 ESP 的 i 地址和CONNECTION REFUSED. 我究竟做错了什么?

ESP代码:

void setup() {
  Serial.begin(115200);
  delay(100);

  Serial.println();
  Serial.println();
  Serial.print("Connecting to: ");
  Serial.println(ssid);

  WiFi.begin(ssid, password);

  while( WiFi.status() != WL_CONNECTED){
      delay(500);
      Serial.print(".");
     }

  Serial.println("");
  Serial.println("WiFi connected");  
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
  Serial.print("Netmask: ");
  Serial.println(WiFi.subnetMask());
  Serial.print("Gateway: ");
  Serial.println(WiFi.gatewayIP());

}

int value = 0;


void loop() {
   HTTPClient http;

   http.begin("192.168.0.24:80");
   int httpCode = http.GET();

   if(httpCode > 0){
    String payload = http.getString();
    Serial.println(payload);
    }
    http.end();
    delay(3000);

}
Run Code Online (Sandbox Code Playgroud)

HTML网站:

<html>
<head>
  <title>ESP8266 toggle page</title>
</head>
  <body> …
Run Code Online (Sandbox Code Playgroud)

get arduino esp8266

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

从Java目录中选择一个随机文件

我想从我想要的任何目录中选择一个随机文件.例如C:\ Users\Josh\Pictures\[randomFile]

我没有代码可以证明我只是想知道如何做到这一点.

我正在做的是使用一个类来改变我的桌面的背景,现在我想添加一个随机文件,所以当它刷新后,背景将是不同的,我不必停止运行代码手动更改路径中文件的名称.如果你想知道它是什么样的

import java.io.File;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;


public class BackgroundTest {

    final static File dir = new File("C:\\Users\\Kevin\\Pictures\\Pyimgur\\");
    static int size = 10;
    static String [] fileArray = new String[size];





public static void main(String[] args) {
    File[] files = dir.listFiles();
    for(int i =0; i<size;i++){
        int idz = (int)(Math.random()*size);
        fileArray[i]=files[idz].getName();

    }

    for(String x: fileArray){
        System.out.print(x);
    }

    String path = "C:\\Users\\Kevin\\Pictures\\Pyimgur\\";
    String picture = "picture.jpg";
    //System.out.print(fileArray[0]);

    SPI.INSTANCE.SystemParametersInfo(
            new UINT_PTR(SPI.SPI_SETDESKWALLPAPER),
            new UINT_PTR(0),
            path + picture,
            new UINT_PTR(SPI.SPIF_UPDATEINIFILE | …
Run Code Online (Sandbox Code Playgroud)

java random file

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