Herunterladen einer Datei in Antwort auf eine POST-Anfrage via nodejs?

Ich habe Probleme bei der Erteilung einer POST-Befehl, der eine Datei herunterlädt.

Auf der client-Seite, ich versuche zu POSTEN, zu einer bestimmten URL, einschließlich der Parameter, der angibt, die Datei herunterzuladen.

var req = $.ajax({
    type: 'POST',
    url : '/click',
    data: { 'path' : filename }
   });
req.done(function(data) {
//Download the file here?

Den server schließlich löst eine Methode, die Folgendes tut:

function downloadFile(req, res) {
  var dir = req.session.currentdir + req.body.path;
  mimetype = (shell.exec("file --mime-type '" + dir + "'", {silent:true}).output);
  mimetype = mimetype.substring(mimetype.indexOf(": ") + 2, mimetype.length);

  var stat = fs.statSync(dir);
  res.writeHead(200, {'Content-Type' : mimetype,
                      'Content-Length': stat.size });
  var fileStream = fs.createReadStream(dir);
  fileStream.pipe(res);
};

Jetzt kann ich nicht scheinen, um die client-Seite akzeptieren Sie die Datei, die ich versuche, die Pfeife zurück . . es hängt nur für eine unglaublich lange Zeit, bevor Sie schließen. Was ist der geeignete Weg, um den client zum herunterladen der Datei ich versuche zurück zu senden?

Viel Dank für die Zeit nehmen, zu Lesen.

  • Ich stehe vor demselben problem. Ich bekomme die Daten in %PDF-1.4 %���� {more data} %%EOF, aber wie soll ich die Datei herunterladen.
InformationsquelleAutor kjb | 2012-05-02
Schreibe einen Kommentar