How to add ftp put function in PyQT network ftp demo
不坏阿峰
onlydebian at gmail.com
Tue Jul 1 06:27:59 EDT 2014
I want to modify the pyqt network ftp demo to include an upload function, but I am failing. Could someone can show me how to do this? I have tried to add this code, but it does not work.
[Orignal demo]https://github.com/Werkov/PyQt4/blob/master/examples/network/ftp/ftp.py
at First, i add these code into demo. not work at all
##############
buttonBox.addButton(self.uploadButton,
QtGui.QDialogButtonBox.ActionRole)
self.uploadButton = QtGui.QPushButton("upload")
self.uploadButton.clicked.connect(self.selectFile)
def selectFile(self):
self.filename =QtGui.QFileDialog.getOpenFileName()
up_fname = re.sub(r".*/","",self.filename)
upload_file = QtCore.QFile(self.filename)
self.ftp.put(upload_file, up_fname)
##############
Second, i modify like this, i can upload small file successfully, but fail on big size file, the app will crash.
#####################
def selectFile(self):
self.filename =QtGui.QFileDialog.getOpenFileName()
print self.filename
up_fname = re.sub(r".*/","",self.filename)
print up_fname
upload_file = QtCore.QFile(self.filename)
#print upload_file
upload_file.open(QtCore.QIODevice.ReadOnly)
ba = QtCore.QByteArray()
ba.append(upload_file.readAll())
#buffer = QtCore.QBuffer() #### do not how to use Buffer
#buffer.open(QtCore.QIODevice.ReadWrite)
#buffer.setData(ba)
self.ftp.put(ba, up_fname)
self.progressDialog.setLabelText("Uploading %s..." % up_fname)
self.uploadButton.setEnabled(False)
self.progressDialog.exec_()
self.uploadButton.setEnabled(True)
self.ftp.list()
####################
More information about the Python-list
mailing list