當我使用QFTP的put命令上傳文件時,它只能上傳大約40字節的指定文件。我正在捕捉dataProgress信號,並且我正在取得進展,但文件的總大小隻讀爲大約40個字節。我的代碼有什麼問題,或者是FTP服務器端的問題?PySide QFTP只能上傳35-40字節
這裏是我的上傳功能:
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並讀取該文件中的所有字節,然後將其傳遞給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
FTP服務器上的文件結束了什麼? – 2012-07-16 17:43:57
用文本文件測試過,內容是文件上傳位置的完整路徑,例如C:/Users/jake/Desktop/TEST.txt 是否有我的代碼的一部分可以做到這一點? – user1500452 2012-07-16 18:06:36
有一個猜測給出你的文件在服務器上的當前內容的答案 – 2012-07-16 19:31:33