Periksa Keberadaan file yang terletak di beberapa link http di node.js

Saya memiliki file di http://example.com/test.csv. Sekarang bagaimana saya akan memeriksa apakah file tersebut ada atau tidak di Node.js. Mohon bantuannya.


person user2700253    schedule 26.08.2013    source sumber
comment
Apa yang sudah kamu coba? Sudahkah Anda membaca dokumen? (petunjuk: fs.exists mungkin bisa membantu)   -  person Andreas Hultgren    schedule 26.08.2013
comment
fs.exits berfungsi jika jalur file ada di server lokal. Tetapi dalam kasus saya, file ada di server jarak jauh yaitu xxxxxx.com/ tes.csv   -  person user2700253    schedule 26.08.2013
comment
Anda harus mengunduhnya untuk memeriksa atau menggunakan cek HEAD. stackoverflow.com/a/14552721/95190   -  person WiredPrairie    schedule 26.08.2013


Jawaban (2)


Cara termudah adalah dengan melakukan permintaan HTTP GET ke URI tersebut, jika responsnya 200 OK, file ada, jika tidak maka tidak.

request.js bisa berguna dalam hal ini, kode:

var request = require('request'); // include request module
request('http://xxxxxx.com/test.csv', function (err, resp) {
   if (resp.statusCode === 200) {
      return // file exist
   }

   // file does not exist
});
person Alexander Beletsky    schedule 26.08.2013
comment
Selain itu, sebaiknya periksa keberadaan konten web tanpa perlu mengunduhnya. - person Jan Jůna; 31.10.2016

Agak terlambat dalam hal ini, tetapi mengapa tidak menggunakan http saja? Metode ini seharusnya hanya mengunduh header dan bukan keseluruhan file.

// Import HTTP module
var http = require ("http");

// Set request options
var options = { method: "HEAD", host: "example.com", port: 80, path: "test.csv" };
// Initialize HTTP request
var request = http.request ( options, function ( response ) {
    console.log ( "Status Code: " + response.statusCode );
});
// End request
request.end ();
person Raffi    schedule 09.01.2017