Wanneer ik QFTP we opdracht om een bestand alleen uploadt ongeveer 40 bytes van het opgegeven bestand te uploaden. Ik ben het dataProgress signaal vangen en ik krijg de vooruitgang, maar de totale omvang van het bestand is alleen-lezen tot ongeveer 40 bytes zijn. Is er iets mis met mijn code, of is het een probleem aan de kant van de FTP-server?
Hier is mijn upload functie:
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
Alright, bedacht wat ik moest doen. Ik moest een Qfile te creëren en te lezen van alle bytes van dat bestand en dan doorgeven dat de opdracht 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