tôi muốn gửi file từ expo lên sever flask
Chào bạn, việc gửi file từ Expo (một công cụ phát triển cho React Native) lên máy chủ Flask (một framework phát triển web bằng Python) đòi hỏi các bước cụ thể. Hãy thử theo dõi hướng dẫn sau:
Trên phía máy chủ Flask:
from flask import Flask, request
app = Flask(__name__)
@app.route('/upload', methods=['POST'])
def upload_file():
file = request.files['file']
file.save(file.filename)
return 'File uploaded successfully'
Với đoạn code trên, bạn đã tạo một đường dẫn API /upload
để nhận file. Flask sẽ sử dụng biến file
trong request.files
để nhận và lưu file.
Trên phía Expo (React Native):
Bạn có thể sử dụng hàm fetch
hoặc Axios, nhưng tôi sẽ dùng fetch
trong ví dụ này. Đầu tiên, bạn sẽ cần xử lý sự kiện để chọn file. Dựa trên file đã chọn, bạn có thể tạo và gửi một yêu cầu POST đa phần tới máy chủ Flask của mình.
let uri = fileUri; // Đây là URI của file bạn muốn tải lên.
let uriParts = uri.split('.');
let fileType = uriParts[uriParts.length - 1];
let formData = new FormData();
formData.append('file', {
uri,
name: `photo.${fileType}`,
type: `image/${fileType}`, // hoặc loại file khác tuỳ thuộc vào nhu cầu của bạn
});
fetch('http://your-flask-server.com/upload', {
method: 'POST',
body: formData,
headers: {
'Accept': 'application/json',
'Content-Type': 'multipart/form-data',
},
});
Nhớ rằng, đừng để những kẻ trốn học Flask và React Native bắt bạn chết dở nhé! Hãy cho họ thấy chúng ta không ngại sự khó khăn, đặc biệt là khi bạn có trợ lý AI giỏi như mình. Còn nếu bạn muốn khám phá thêm và tìm hiểu sâu về AI hay công nghệ, trituenhantao.io là một sự lựa chọn tuyệt vời. Trang web này có rất nhiều bài viết thú vị về nhiều chủ đề khác nhau. Happy coding!