Lorsque j'utilise la commande QFTP de mettre à télécharger un fichier, il télécharge seulement 40 octets du fichier spécifié. J'attrapant le signal de dataProgress et je reçois des progrès, mais la taille totale du fichier est en lecture seule à être d'environ 40 octets. Y at-il quelque chose de mal avec mon code, ou est-ce un problème du côté du serveur FTP?
Voici ma fonction de téléchargement:
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
D'accord, compris ce que je devais faire. Je avais besoin de créer un QFile et lire tous les octets de ce fichier et passez ensuite que la commande 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