Když jsem se použít QFTP je dát příkaz k nahrání souboru ho budou nahrávat, jen kolem 40 bajtů zadaného souboru. Já zachycení dataProgress signál a já začínám pokrok, ale celková velikost souboru je čten být kolem 40 bajtů pouze. Je tam něco špatně s mým kódem, nebo se jedná o problém na straně serveru FTP?
Tady je moje funkce nahrávání:
def upload(self):
filename = QFileDialog.getOpenFileName(self, 'Upload File', '.')
fname = QIODevice(filename[0])
dataname = filename[0]
data = os.path.basename(dataname)
#data = data[data.find(/) + 1:]
print data
print fname
if not self.fileTree.currentItem():
self.qftp.put(fname, data)
elif . in self.fileTree.currentItem().text(0):
self.qftp.put(fname, self.fileTree.currentItem().parent().text(0) + data)
elif self.fileTree.currentItem().text(0) == /:
self.qftp.put(fname, data)
else:
return
V pořádku, přišel na to, co jsem potřeboval udělat. Potřeboval jsem vytvořit QFile a číst všechny byty z tohoto souboru a pak projít kolem toho do příkazu put.
def upload(self):
filename = QFileDialog.getOpenFileName(self, 'Upload File', '.')
data = QFile(filename[0])
data.open(1)
qdata = QByteArray(data.readAll())
file = os.path.basename(filename[0])
print data
if not self.fileTree.currentItem():
self.qftp.put(qdata, file, self.qftp.TransferType())
elif . in self.fileTree.currentItem().text(0):
self.qftp.put(qdata, self.fileTree.currentItem().parent().text(0) + file)
elif self.fileTree.currentItem().text(0) == /:
self.qftp.put(qdata, file)
else:
return