Câu hỏi:

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:

  1. Tạo một đường dẫn API thích hợp để nhận file.
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!


Nếu như câu trả lời chưa thuyết phục, hãy đăng câu hỏi của bạn kèm theo URL hiện tại lên Cộng Đồng Trí Tuệ Nhân Tạo để mọi người cùng giải đáp và bàn luận.
Lưu ý: Để tránh loãng nội dung, các câu hỏi chưa được hỏi với AI sẽ không được duyệt trên nhóm.
Trang chủ | Hỏi tiếp | Xem lịch sử