Node.js로 이미지를 읽고 쓸 수 있습니까?

트립 피 741

저는 JS를 처음 접했고 COCO-SSD JS를 사용하는 Discord.js를 사용하는 Discord 봇에서 작업하고 있으며 내 PC에서 파일을 읽고 쓸 필요가 있습니다.

이것이 최선의 아이디어가 아닐 수도 있지만, 도착하면 그 다리를 건너겠습니다.

지금 당장은 내 PC에서 이미지를 읽고 쓰는 방법이 필요합니다.

참고 : 파일은 URL에서 내 컴퓨터로 작성되어야합니다. 그러나 내 PC에서 이미지를 다운 리드해야하는 것을 피할 수있는 방법이 있다면 도움을 주시면 감사하겠습니다.

"fs", "https"및 "fetch"를 사용하고 있습니다.

내 방법의 문제는 이미지에서 수신하는 픽셀이 NULL 이므로 많은 작업 을 할 수 없다는 것입니다.

내 현재 코드는 다음과 같습니다.

끔찍한 형식에 대해 죄송합니다. 영어는 제 모국어가 아니며 오전 2시입니다.

const fetchUrl = require("fetch").fetchUrl;
const https = require('https');

function saveImageToDisk(url,path)
{
    var fullUrl = url;
    var localPath = fs.createWriteStream(path);
    var request = https.get(fullUrl,function(response) { console.log(response)
         response.pipe(localPath)
        });
    
}

saveImageToDisk("https://post.greatist.com/wp-content/uploads/sites/3/2020/02/322868_1100-1100x628.jpg","./images/" + Date.now + ".png");

const img = fs.readFile("./images/" + Date.now + ".png", function(response){console.log(response)});
Cannicide

나는 module을 사용하여 이와 같은 것을 달성하는 방법을 알고 node-fetch있으므로 아래 예제를 제공 할 것입니다. 나는 당신의 불화 봇 에서이 기능이 정확히 필요한지 모르겠지만 아래 코드는 이미지 URL을 지정된 경로에 올바르게 저장할 수 있습니다.

const fetch = require("node-fetch");
const fs = require("fs");

function saveImageToDisk(url, path)
{
    fetch(url)
    .then(res => res.buffer())
    .then(buffer => fs.writeFileSync(path, buffer));
    
}

위의 예제 코드를 테스트했으며 완벽하게 작동합니다. 나머지 코드에 대해서는 몇 가지 수정 사항이 있습니다.

const filepath = "./images/" + Date.now() + ".png";
const imageurl = "https://post.greatist.com/wp-content/uploads/sites/3/2020/02/322868_1100-1100x628.jpg";

saveImageToDisk(imageurl, filepath);
const img = fs.readFile(filepath, (err, response) =>{
    if (err) throw err;

    console.log(response);
});

특히 주요 문제는 다음과 같습니다.

  • Date.now함수입니다 (따라서이어야합니다 Date.now()).
  • 파일 경로 문자열을 두 번 생성하는 대신 한 번만 생성해야합니다 (정확성과 단순성을 위해).
  • 의 콜백은 fs.readFile실제로 오류 객체를 첫 번째 매개 변수로 가지고 있습니다 (따라서 실제로 오류를 기록하거나 응답 / 파일 자체 대신 콘솔에 오류가 없음).

이러한 문제만으로도 코드가 작동하지 않고 원본 saveImageToDisk()이 제대로 작동 했을 가능성이 있습니다 . 이러한 문제가 파일을 읽는 방법에 관계없이 분명히 문제를 일으켰다는 점을 유의하십시오.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

HTML로 Excel 문서를 읽고 쓸 수 있습니까?

분류에서Dev

phpmyadmin 데이터베이스를 읽고 쓸 수 있습니까?

분류에서Dev

파이썬에서 이미지를 읽고 정의 된 픽셀 순서로 다시 쓸 수있는 방법

분류에서Dev

""node exampleScript.js ""이후에 cmd로 쓸 수 없습니다.

분류에서Dev

파이프의 한쪽 끝에 fd를 읽고 쓸 수 있습니까?

분류에서Dev

배경 이미지를 다른 색상으로 덮어 쓸 수 있습니까?

분류에서Dev

JAVA에서 HDFS를 읽고 쓸 수있는 기존 API가 있습니까?

분류에서Dev

A.csv를 읽지 않고 새 열에서 B.csv를 읽고 A.csv에 쓸 수 있습니까?

분류에서Dev

IMCR 레지스터는 어떻게 읽고 쓸 수 있습니까?

분류에서Dev

SwiftUI에서 동일한 ObservableObject를 어떻게 읽고 쓸 수 있습니까?

분류에서Dev

Ubuntu가 CD-RW 및 DVD-RW를 읽고 쓸 수 있습니까?

분류에서Dev

'열기'를 한 번만 사용하여 읽고 덮어 쓸 수 있습니까?

분류에서Dev

Applescript에서 Illustrator 아트 보드의 이름을 읽고 쓸 수 있습니까?

분류에서Dev

읽기 권한만으로 파일을 쓸 수 있습니까?

분류에서Dev

j2me-FileConnection API를 사용하지 않고도 텍스트 파일을 읽고 쓸 수 있습니까?

분류에서Dev

어떻게 읽고 실시간으로 JTextArea에 실시간 디스플레이 출력 프로세스를 쓸 수 있습니까? (자바 스윙)

분류에서Dev

열에 변수를 곱하고 쓸 수 있습니까?

분류에서Dev

Node.js를 사용하여 JSON 스트림을 파일에 어떻게 쓸 수 있습니까?

분류에서Dev

하드 드라이브에서 읽고 쓸 수 없습니다.

분류에서Dev

하드 드라이브에서 읽고 쓸 수 없습니다.

분류에서Dev

C #, 시리얼 포트를 통해 특정 순서로 Linux SBC (BeagleBone)에 명령을 읽고 쓸 수 있습니까?

분류에서Dev

아랍어를 쓸 수 있지만 읽을 수 없습니다.

분류에서Dev

아랍어를 쓸 수 있지만 읽을 수 없습니다.

분류에서Dev

동일한 Python 스크립트에서 직렬 버퍼를 어떻게 읽고 쓸 수 있습니까?

분류에서Dev

Node Js 및 Express : 코드를 배우고 읽을 수있는 무료 간단한 프로젝트는 어디에서 찾을 수 있습니까?

분류에서Dev

Linux에서 대체 HFS + 파일 포크 또는 NTFS 데이터 스트림을 읽고 쓸 수 있습니까?

분류에서Dev

Linux에서 대체 HFS + 파일 포크 또는 NTFS 데이터 스트림을 읽고 쓸 수 있습니까?

분류에서Dev

CSS #ID를 클래스로 덮어 쓸 수 있습니까?

분류에서Dev

clearfix를 <hr />로 덮어 쓸 수 있습니까?

Related 관련 기사

  1. 1

    HTML로 Excel 문서를 읽고 쓸 수 있습니까?

  2. 2

    phpmyadmin 데이터베이스를 읽고 쓸 수 있습니까?

  3. 3

    파이썬에서 이미지를 읽고 정의 된 픽셀 순서로 다시 쓸 수있는 방법

  4. 4

    ""node exampleScript.js ""이후에 cmd로 쓸 수 없습니다.

  5. 5

    파이프의 한쪽 끝에 fd를 읽고 쓸 수 있습니까?

  6. 6

    배경 이미지를 다른 색상으로 덮어 쓸 수 있습니까?

  7. 7

    JAVA에서 HDFS를 읽고 쓸 수있는 기존 API가 있습니까?

  8. 8

    A.csv를 읽지 않고 새 열에서 B.csv를 읽고 A.csv에 쓸 수 있습니까?

  9. 9

    IMCR 레지스터는 어떻게 읽고 쓸 수 있습니까?

  10. 10

    SwiftUI에서 동일한 ObservableObject를 어떻게 읽고 쓸 수 있습니까?

  11. 11

    Ubuntu가 CD-RW 및 DVD-RW를 읽고 쓸 수 있습니까?

  12. 12

    '열기'를 한 번만 사용하여 읽고 덮어 쓸 수 있습니까?

  13. 13

    Applescript에서 Illustrator 아트 보드의 이름을 읽고 쓸 수 있습니까?

  14. 14

    읽기 권한만으로 파일을 쓸 수 있습니까?

  15. 15

    j2me-FileConnection API를 사용하지 않고도 텍스트 파일을 읽고 쓸 수 있습니까?

  16. 16

    어떻게 읽고 실시간으로 JTextArea에 실시간 디스플레이 출력 프로세스를 쓸 수 있습니까? (자바 스윙)

  17. 17

    열에 변수를 곱하고 쓸 수 있습니까?

  18. 18

    Node.js를 사용하여 JSON 스트림을 파일에 어떻게 쓸 수 있습니까?

  19. 19

    하드 드라이브에서 읽고 쓸 수 없습니다.

  20. 20

    하드 드라이브에서 읽고 쓸 수 없습니다.

  21. 21

    C #, 시리얼 포트를 통해 특정 순서로 Linux SBC (BeagleBone)에 명령을 읽고 쓸 수 있습니까?

  22. 22

    아랍어를 쓸 수 있지만 읽을 수 없습니다.

  23. 23

    아랍어를 쓸 수 있지만 읽을 수 없습니다.

  24. 24

    동일한 Python 스크립트에서 직렬 버퍼를 어떻게 읽고 쓸 수 있습니까?

  25. 25

    Node Js 및 Express : 코드를 배우고 읽을 수있는 무료 간단한 프로젝트는 어디에서 찾을 수 있습니까?

  26. 26

    Linux에서 대체 HFS + 파일 포크 또는 NTFS 데이터 스트림을 읽고 쓸 수 있습니까?

  27. 27

    Linux에서 대체 HFS + 파일 포크 또는 NTFS 데이터 스트림을 읽고 쓸 수 있습니까?

  28. 28

    CSS #ID를 클래스로 덮어 쓸 수 있습니까?

  29. 29

    clearfix를 <hr />로 덮어 쓸 수 있습니까?

뜨겁다태그

보관