有大神知道怎么使用python 往ftp服务器上连续上传下载多张图片吗?

Python023

有大神知道怎么使用python 往ftp服务器上连续上传下载多张图片吗?,第1张

例:下载、上传文件

# coding: utf-8

from ftplib import FTP

import time

import tarfile

import os

# !/usr/bin/python

# -*- coding: utf-8 -*-

from ftplib import FTP

def ftpconnect(host, username, password):

    ftp = FTP()

    # ftp.set_debuglevel(2)

    ftp.connect(host, 21)

    ftp.login(username, password)

    return ftp

#从ftp下载文件

def downloadfile(ftp, remotepath, localpath):

    bufsize = 1024

    fp = open(localpath, 'wb')

    ftp.retrbinary('RETR ' + remotepath, fp.write, bufsize)

    ftp.set_debuglevel(0)

    fp.close()

#从本地上传文件到ftp

def uploadfile(ftp, remotepath, localpath):

    bufsize = 1024

    fp = open(localpath, 'rb')

    ftp.storbinary('STOR ' + remotepath, fp, bufsize)

    ftp.set_debuglevel(0)

    fp.close()

if __name__ == "__main__":

    ftp = ftpconnect("113.105.139.xxx", "ftp***", "Guest***")

    downloadfile(ftp, "Faint.mp4", "C:/Users/Administrator/Desktop/test.mp4")

    #调用本地播放器播放下载的视频

    os.system('start "C:\Program Files\Windows Media Player\wmplayer.exe" "C:/Users/Administrator/Desktop/test.mp4"')

    uploadfile(ftp, "C:/Users/Administrator/Desktop/test.mp4", "test.mp4")

    ftp.quit()

首先你需要在你的表单上添加enctype="multipart/form-data"。

<form action="/message/" enctype="multipart/form-data" method="post">

<input type="file" name ="picfile">

<button value="提交"type="submit">提交</button>

</form>

其次看你后端的web框架,如果是django,你可以参考。

from PIL import Image

try:

    reqfile =

request.FILES['picfile']#picfile要和html里面一致

    img = Image.open(reqfile)

    img.thumbnail((500,500),Image.ANTIALIAS)#对图片进行等比缩放

    img.save("/Users/bcc/Desktop/python/bbs/Image/a.png","png")#保存图片 

except Exception,e:

    return HttpResponse("Error %s"%e)#异常,查看报错信息

如果解决了您的问题请采纳!

如果未解决请继续追问

他那个文件是在当前目录下, 所以不需要写绝对路径.

你只需要把第二行的files改成如下就好:

files = {'file': open('/c/1/2.jpg', 'rb')}