我正在一个Blynk项目中,目的是从ESP32 CAM拍摄一张照片并将其发送到手机上的Blynk应用中。拍摄照片后,它将以以下路径名本地存储在SD卡中:
String path = "/" + timeStamp + ".jpg";
保存图片后,将调用以下功能将其上传到我的FTP服务器。
void ftpUpload(String path)
{
String url = "https://mywebsite.000webhostapp.com/public_html/gallery" + path;
const char *name = path.c_str();
ftp.OpenConnection();
ftp.ChangeWorkDir("/public_html/gallery/");
ftp.InitFile("Type I");
ftp.NewFile(name);
ftp.WriteData(fb->buf, fb->len);
ftp.CloseFile();
Blynk.setProperty(V26, "url", 1, url);
}
运行程序时,我在串行监视器中得到以下输出:
Connecting to: files.000webhost.com
Command connected
Send USER
Send PASSWORD
Send SYST
Send CWD
Send TYPE
Type I
Send PASV
Data port: 49947
Data connection established
Send STOR
Writing
Close File
没有错误或其他任何错误。我试了一下URL,看我是否弄错了,在弄乱URL时,我实际上遇到了550错误(在使URL错误之后)。当我检查cPanel时,所有照片均直接发送到根目录,而不是/public_html/gallery/
。