I `m using 39dll to connect to a FTP server. It already works. But I can only download files and not upload. When I try to upload a file I send first a message to the server saying that `m going upload a file: "STOR filename.ext" I connect to the file transfer connection and try to upload the file. But when `m look with filezilla I can see the file is corrupted. (File is normal 50kb and on server 200kb?)
And when `m send a file in 1 time. (in one message 50 000 bytes) It works. But I want to upload large files and then Can`t I upload in 1 time files of 100mb... I want to upload files with packets of arround 5000 bytes. But how?
This is how `m now try to upload a file:
/*
argument0: File to upload
argument1: File name for server
Return: True or False
*/
if!(tcpconnected(sockId)) { return false; }
clearbuffer();
writechars("TYPE I"+chr(10))
sendmessage(sockId);
waitforserver = true;
while(waitforserver)
{
size = receivemessage(sockId);
servermessage = readchars(size);
if(size > 0) { chat_addline(servermessage,c_green); break;}
if(string_count("200", servermessage)) { waitforserver = false; }
}
clearbuffer();
writechars("PASV"+chr(10))
sendmessage(sockId);
waitforserver = true;
while(waitforserver)
{
size = receivemessage(sockId);
servermessage = readchars(size);
if(size > 0) { chat_addline(servermessage,c_green); break;}
if(string_count("200", servermessage)) { waitforserver = false; }
}
clearbuffer();
writechars("STOR ftpscripts.zip"+chr(10))
sendmessage(sockId);
get_ip_port(servermessage);
sockId2 = tcpconnect(ip1, p1*256+p2, 1);
setformat(sockId2, 0);
filee = fileopen("ftp scripts.zip",0);
size = filesize(filee);
var totalsize;
totalsize = 0;
clearbuffer();
buff = createbuffer();
clearbuffer(buff);
while(true)
{
fileread(filee,500,buff)
totalsize += buffsize(buff);
sendmessage(sockId2,0,buff);
clearbuffer(buff);
if(totalsize >= size) { break; }
}
freebuffer(buff);
return 1;I know my english sucks



Find content
Not Telling
