文件未在 React 中搜索加载,节点 JS



我想在我的下载文件夹中下载一个文件。该文件位于上传文件夹中,两个文件夹位于同一目录中。文件名为 BasicUserFile-id.jpg

第二次尝试:这次我试图通过对文件名进行硬编码来获取文件,但它也不起作用,而是下载了一个空白文件。

应用.js

  Filedownload(e) {
    e.preventDefault();
    var id = this.props.params.id;
    console.log(id);
    $.ajax({
      type: 'GET',
      url: '/download/' + id,
      success: function (data, textStatus, request) {
        window.open('./downloads/ ', '_self');
      }
    });
  }

   <button type="button" value="Download File" onClick={this.Filedownload} 
   className="btn btn-success btn-lg">Download file</button> 
//

//服务器.js

app.get('/download/:id', function(req, res){
  var basic_id = req.params.id 
  var file = __dirname + '/uploads/BasicUserFile-'+ basic_id+ ".jpg";
  res.download(file); 
});

第二次尝试 .

 Filedownload(e) {
    e.preventDefault();
    $.ajax({
      type: 'GET',
      url: '/download/' ,
      success : function(data)
      {
        fileDownload(data, 'filename.jpg');
        console.log("file downloaded")

      }

    });
  }

///服务器

app.get('/download/', function(req, res){
  var file = __dirname + '/uploads/BasicUserFile-5a093a24870eb12148262248.jpg';
  res.download(file); 
});

您在客户端上的调用是针对 GET 的,但您的服务器定义了 POST。 为了符合标准,请更改服务器以接受 GET 请求,如下所示:

app.get('/download/:id', function(req, res){
  var basic_id = req.params.id 
  var file = __dirname + '/uploads/BasicUserFile-'+ basic_id+ ".jpg";
  res.download(file); 
});

此外,从您发布的内容中不清楚客户端是否在任何情况下都在构建正确的URL,因此请务必仔细检查。

最新更新