जब मैं का उपयोग QFTP के आदेश एक फ़ाइल यह केवल निर्दिष्ट फ़ाइल के लगभग 40 बाइट्स अपलोड करता है अपलोड करने के लिए डाल दिया। मैं dataProgress संकेत पकड़ने कर रहा हूँ और मैं प्रगति हो रही है, लेकिन फ़ाइल का कुल आकार केवल लगभग 40 बाइट्स होने के लिए पढ़ा जाता है। क्या मेरी कोड के साथ गलत है, या FTP सर्वर के पक्ष में एक समस्या है?
यहाँ मेरी अपलोड समारोह है:
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
ठीक है, पता लगा कि मैं क्या करने की जरूरत है। मैं एक QFile बना सकते हैं और उस फ़ाइल से बाइट्स के सभी पढ़ सकते हैं और तब पुट आदेश है कि पारित करने के लिए की जरूरत है।
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