簡體   English   中英

文件未使用節點js上載到服務器上

[英]File not uploaded on server using node js

我想要批量易位,為此,我上傳了.csv文件,如果我使用curl命令,它對我有效,但當我使用它的節點代碼時,它顯示我錯誤“文件未上傳”

關於curl我使用的代碼對我有用: -

curl -F  'data=@/var/www/html/achupload.csv' https://sandbox.usaepay.com/api/v2/bulk_transactions  -H "Authorization: Basic X3llMVI3Mk9PdzFHOXBqcW1GaVp2NHJINjRc="

這是我的節點代碼,它顯示我的錯誤信息: -

    var request = require('request');

    var headers = {
          'Authorization': 'Basic X3llMVI3Mk9PdzFHOXBqcW1GaVp2NHJINjRc='
    };

    var dataString = '@/var/www/html/achupload.csv';

    var options = {
        url: 'url',
        method: 'POST',
        headers: headers,
        data: dataString
    };

    console.log("options====",options);

    function callback(error, response, body) {
        if (!error && response.statusCode == 200) {
        console.log(body);
        }
        else{
          console.log("notttttttttttt================",response.body);
        }
    }

    request(options, callback);

這個修改怎么樣?

修改要點:

  • 使用fs.createReadStream()檢索文件內容。
  • 該文件作為formData發送。

修改后的腳本

從:
 var request = require('request'); var headers = { 'Authorization': 'Basic ###' }; var dataString = '@/var/www/html/achupload.csv'; var options = { url: 'url', method: 'POST', headers: headers, data: dataString }; 
至:
 var fs = require('fs'); // Added var request = require('request'); var headers = { 'Authorization': 'Basic ###' }; var dataString = {data: fs.createReadStream('/var/www/html/achupload.csv')}; // Modified var options = { url: 'url', method: 'POST', headers: headers, formData: dataString // Modified }; 

注意:

  • 在此修改后的腳本中,使用了'Authorization': 'Basic ###' 請小心這個。 當您使用它時,請將###替換為您的。

參考文獻:

如果這沒有解決您的問題,我道歉。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM