検索

ホームページ  >  に質問  >  本文

node.js - nodejs中res.download()的的status code 是200 ok,但响应的都是乱码,求解!

router.use("/download",function (req, res, next) {

res.download('d:/myFile/','模板.xlsx',function (err) {
    if(err){
        res.send(err);
    }else{
        res.send(true);
    }
});

});

后来又返回了以下这个
code:"ENOENT"
errno:-4058
expose:false
path:"E:企业版开通模板.xlsx"
status:404
statusCode:404
syscall:"stat"
res.download()的status code 是200 ok,但返回值都是乱码,这又该咋办呢?

大家讲道理大家讲道理2871日前923

全員に返信(1)返信します

  • 迷茫

    迷茫2017-04-17 15:55:09

    パスに何か問題がありますか? 具体的な戻り値は、インターフェイスでの {"code":"EISDIR"} の定義方法によって異なります。

    Express はサーバー上で実行されるプログラムです。たとえば、ブラウザ設定はデフォルトでデスクトップにダウンロードされます。

    res.download の API は次のとおりです:
    res.download(path, [filename], [fn])
    path にあるファイルを「添付ファイル」として転送します。通常、ブラウザはユーザーにダウンロードを要求します。Content-Disposition の「filename=」パラメータ、別名ブラウザのダイアログに表示されるパラメータはデフォルトで path に設定されますが、上書きファイル名を指定することもできます。

    エラーが発生した場合、または転送が完了した場合、オプションのコールバック fn が呼び出され、このメソッドは res.sendfile() を使用してファイルを転送します。

    リーリー

    返事
    0
  • キャンセル返事