在Python中处理文件上传通常有以下几种方法:
1. 使用`requests`库
```python
import requests
url = "http://example.com/upload" 替换为实际的上传接口地址
with open("path/to/file.jpg", "rb") as file:
file_data = file.read()
files = {"file": ("filename.jpg", file_data)}
response = requests.post(url, files=files)
print(response.text)
2. 使用`Flask`框架
```python
from flask import Flask, request
app = Flask(__name__)
@app.route('/upload', methods=['POST'])
def upload_file():
if 'file' in request.files:
file = request.files['file']
if file.filename:
保存文件到服务器
file.save("path/to/save/file.jpg")
return "File uploaded successfully."
return "Error uploading file."
3. 使用`ftplib`库进行FTP文件上传
```python
from ftplib import FTP
def upload_to_ftp(local_file, remote_file):
ftp = FTP('ftp.example.com') 替换为实际的FTP服务器地址
ftp.login()
with open(local_file, 'rb') as file:
ftp.storbinary(f'STOR {remote_file}', file)
ftp.quit()
4. 使用`Apache + mod_python`进行文件上传
```python
import os
def upload(req):
if 'file' in req.form:
fileitem = req.form['file']
if fileitem.filename:
保存文件到服务器
with open(fileitem.filename, 'wb') as file:
file.write(fileitem.file.read())
return "File uploaded successfully."
return "Error uploading file."