Thông thường, các tệp được tải lên bằng HTTP POST từ một biểu mẫu web (Tôi cho rằng đó là những gì bạn nghĩ đến khi bạn nói tải lên tệp). Định dạng chính xác của yêu cầu có xu hướng trông hơi giống như thế này , như được định nghĩa trong RFC 1867 .
ESP8266 có một thư viện Arduino , chứa một mô-đun gọi là ESP8266HTTPClient
. Có một ví dụ cơ bản có sẵn ở đây , để giúp làm quen với thư viện, nếu bạn quan tâm.
Người dùng 'gbafamily1' từ ESP8266 diễn đàn đã tạo ra một ví dụ mà POSTS một tập tin 256 byte, data.bin
để posttestserver.com
. Việc điều chỉnh điều này theo nhu cầu của bạn tương đối dễ dàng và tôi hy vọng sẽ sử dụng một cái gì đó như thế này trên HTML phía máy chủ:
<form action="posttestserver.com" method="post" enctype="multipart/form-data">
<label for="file">Upload File:</label>
<input type="file" name="testfile" />
<input type="submit" />
</form>
Sau đó, bạn có thể triển khai phía máy chủ trong PHP để chấp nhận tệp đang được tải lên. Có một tài liệu tham khảo có sẵn trong tài liệu PHP và các tệp được gửi bởi POST được lưu trữ trong $_FILES
.
Với ví dụ này, mã ở trên sẽ cho phép các trình duyệt tải lên và mã được cung cấp bởi các diễn đàn ESP8266 sẽ cho phép bạn tải lên từ thiết bị IoT.