javascript - 使用 jsftp 上传文件会导致服务器上的文件大小为零

标签 javascript node.js ftp

我正在尝试使用 jsftp 将文件放在我的服务器上。每次运行代码时,我都会收到一个写入服务器的文件,但它有 0 字节。我确信用户:主机:等是正确的。

这是代码。

function uploadHours() {
var jsftp = require("jsftp");

var ftp = new jsftp({
host: localStorage.host,
port: Number(localStorage.port), // defaults to 21
user: localStorage.user, // defaults to "anonymous"
pass: localStorage.ftpPass // defaults to "@anonymous"
});

ftp.auth(localStorage.user, localStorage.ftpPass, function(hadErr) {
if (!hadErr)
alert("auth succesfull")
});
;
ftp.put('C:/Program Files/Adobe/Adobe After Effects CC 2014/Support Files/Hours Tracker/index2.html', '/public_html/indexTester2.html', function(hadErr) {
  if (!hadError)
alert("File transferred successfully!");
});
}

最佳答案

我想我需要先阅读该文件。这是有效的。

 var JSFtp = require("jsftp");    
 var fs = require("fs");
 var Ftp = new JSFtp({ 
     host: localStorage.host,
     port: Number(localStorage.port),
     user: localStorage.user,
     pass: localStorage.ftpPass
 });
 var local = filePath;
 var remote = localStorage.ftpPath + logName;
 fs.readFile(local, function(err, buffer) {
     if(err) {
         console.error(err);
         callback(err);
     }
     else {
         Ftp.put(buffer, remote, function(err) {
             if (err) {
                 console.error(err);
                 callback(err);
             }
             else {
                 alert(file + " - uploaded successfuly");
                 callback();
             }
         });
     }
 });

关于javascript - 使用 jsftp 上传文件会导致服务器上的文件大小为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26920459/

相关文章:

javascript - 控制台错误返回 false

c# - 使用 FTP 协议(protocol)上传后文件损坏

rest - 使用Spring 3 MVC/REST将错误传播到UI

javascript - 转换为小写、大写,然后将字符串拆分为自己的行

javascript - Angularjs ng-model 不工作输入 [文本])

javascript - 正则表达式 JavaScript 问题

node.js - 使用 kafka-node 向消费者组手动提交消息

node.js - Nodejs - 检索远程文件并检测 mime 类型

node.js - Mongo/Mongoose 检查项目是否存在

linux - 如何在我的用户名中使用带有 @ 符号的 linux 命令行 ftp?