- VisualStudio2022
- pprof-Hướng dẫn sử dụng nó trong bản mạng trực tiếp
- Triển khai C# các loại hộp chọn nhiều màu lựa chọn thả xuống, cây lựa chọn nhiều màu lựa chọn thả xuống và các nút tối đa
- [Ghi chú học tập] Cơ sở dữ liệu cấu trúc: cat tree
Trong các ứng dụng web, upload và download file là chức năng không thể thiếu trong quá trình tương tác.
Bởi vì trong các chức năng kinh doanh nhìn chung không chỉ có sự tương tác bằng văn bản mà việc thu thập và phân phối thông tin hoặc hình ảnh là những yêu cầu rất phổ biến.
Ví dụ: tải tệp lên cho phép người dùng gửi dữ liệu lên máy chủ, chẳng hạn như tải ảnh lên để chia sẻ cuộc sống, gửi tài liệu để cộng tác trong công việc, v.v., làm phong phú thêm các chức năng của ứng dụng.
Tải xuống tệp cho phép người dùng lấy tài nguyên phía máy chủ, chẳng hạn như tải xuống phần mềm, báo cáo, v.v., cải thiện khả năng lấy nội dung ứng dụng của người dùng và nâng cao trải nghiệm người dùng cũng như tính thực tế của ứng dụng.
Bài viết này giới thiệu cách triển khai chức năng tải lên và tải xuống tệp trong ứng dụng Streamlit.
Streamlit có thể dễ dàng thực hiện chức năng tải tệp lên thông qua st.file_uploader.
Khi st.file_uploader thực hiện tải tệp lên, nó bao gồm các chức năng sau:
Các thông số chính của nó là:
tên | kiểu | minh họa |
---|---|---|
nhãn | str | Một thẻ ngắn giải thích mục đích của việc tải tệp lên |
kiểu | [str] | Mảng đuôi file được phép upload |
chấp nhận_multiple_files | bool | Có cho phép tải nhiều file lên cùng lúc hay không |
chìa khóa | str | Mã định danh duy nhất của thành phần |
giúp đỡ | str | Mẹo tải tập tin lên |
on_change | vui vẻ | Chức năng gọi lại khi tải tập tin lên |
lập luận | bộ đồ | Một bộ đối số tùy chọn được truyền cho hàm gọi lại |
kwargs | mệnh lệnh | Một từ điển các tham số tùy chọn được truyền cho hàm gọi lại |
nhãn_khả năng hiển thị | str | Khả năng hiển thị nhãn |
Lưu ý rằng tham số label_visibility được sử dụng cùng với nhãn. Chỉ có ba giá trị cho label_visibility:
dễ thấy
: Đây là giá trị mặc định, biểu thị hiển thị bình thườngnhãn
ẩn giấu
:Hiển thị phần giữ chỗ trốngsụp đổ
: Không hiển thị nhãn hoặc phần giữ chỗTham số nhãn cũng hỗ trợ một số định dạng đánh dấu, có thể làm cho nội dung nhãn hiển thị phong phú hơn.
Dưới đây là một số ví dụ minh họa cách sử dụng tính năng tải lên:
Trong ví dụ này, hàm st.file_uploader tạo thành phần tải lên tệp có nhãn "Chọn tệp".
Khi người dùng chọn và tải file lên, ứng dụng sẽ hiển thị tên file của file đã tải lên.
import Streamlit as st upload_file = st.file_uploader("Select file:") nếu upload_file không phải là None: st.write(uploaded_file.name)
Theo mặc định, Streamlit cho phép tải lên giới hạn kích thước tệp là 200MB.
Nếu cần sửa đổi giới hạn này, bạn có thể thực hiện bằng cách định cấu hình tùy chọn server.maxUploadSize.
Ví dụ: để đặt giới hạn kích thước tệp tải lên là 500MB, bạn có thể thêm cấu hình sau vào tệp cấu hình config.toml của Streamlit:
[máy chủ] maxUploadSize = 500
Chỉ định loại tệp được phép tải lên thông qua tham số loại.
Ví dụ: để chỉ cho phép tải lên tệp hình ảnh (định dạng png và jpg), bạn có thể sử dụng nó như sau:
import Streamlit as st upload_file = st.file_uploader("Chọn file ảnh", type=["png", "jpg"])
Nếu cần cho phép người dùng tải lên nhiều tệp, bạn có thể đặt tham số Accept_multiple_files thành True.
Ví dụ như sau:
nhập luồng được chiếu sáng dưới dạng st upload_files = st.file_uploader("Chọn nhiều tệp:", Accept_multiple_files=True) cho upload_file trong upload_files: st.write(uploaded_file.name)
Sau khi tải tệp lên, nhiều quy trình khác nhau có thể được thực hiện trên tệp.
Ví dụ: bạn có thể đọc nội dung tệp, lưu tệp cục bộ, sử dụng dữ liệu tệp để tính toán, v.v.
Dưới đây là ví dụ đọc tệp CSV đã tải lên và hiển thị dữ liệu:
import Streamlit as st nhập gấu trúc dưới dạng pd đã tải lên_file = st.file_uploader("Chọn tệp CSV:") nếu tệp đã tải lên không phải là Không có: dataframe = pd.read_csv(uploaded_file) st.write(dataframe)
Trong Streamlit, st.download_button thường được sử dụng để triển khai chức năng tải xuống tệp.
Khi người dùng nhấp vào nút tải xuống, nội dung tệp được chỉ định có thể được tải xuống thiết bị cục bộ.
Chức năng này rất thiết thực trong nhiều tình huống, chẳng hạn như cho phép người dùng tải xuống các báo cáo dữ liệu, hình ảnh, tài liệu, v.v.
Các thông số chính của st.download_button là:
tên | kiểu | minh họa |
---|---|---|
nhãn | str | Một nhãn ngắn giải thích mục đích của việc tải xuống tệp |
dữ liệu | str/byte/tập tin | Nội dung file cần tải về |
tên_tệp | str | Chỉ định tên tệp đã tải xuống. |
script script | str | Dữ liệu MIME type |
chìa khóa | str | Mã định danh duy nhất của thành phần |
giúp đỡ | str | Thông báo nhắc nhở để tải tập tin |
on_click | vui vẻ | Chức năng gọi lại khi nhấn nút |
lập luận | bộ đồ | Một bộ đối số tùy chọn được truyền cho hàm gọi lại |
kwargs | mệnh lệnh | Một từ điển các tham số tùy chọn được truyền cho hàm gọi lại |
kiểu | str | Chỉ định loại nút |
biểu tượng | str | Biểu tượng cảm xúc hoặc biểu tượng xuất hiện bên cạnh nút nhãn |
Lưu ý loại tham số chỉ có 3 loại:
sơ đồ bình đẳng
: Nền tảng được nhấn mạnh bởi màu sắc chính của ứng dụngthân cây sơ đồ
: Phối hợp với nềncấp ba
: Văn bản thuần túy không có khung hoặc nềnDưới đây là một số ví dụ minh họa cách sử dụng nội dung tải xuống:
Dưới đây là một ví dụ đơn giản cho thấy cách sử dụng st.download_button để tải xuống một tệp có nội dung chuỗi.
import Streamlit as st text_contents = "Đây là văn bản để tải xuống." st.download_button("Tải xuống tệp văn bản:", text_contents)
Trong ví dụ này, trước tiên chúng tôi chuyển đổi DataFrame thành byte dữ liệu ở định dạng CSV, sau đó cung cấp tính năng tải xuống down information qua st.download_button.
nhập Streamlit dưới dạng st nhập gấu trúc dưới dạng pd @st.cache_data def Convert_df(df): pd.DataFrame({"col1": [1, 2, 3] , "col2": ["a", "b", "c"]}) csv_data = Convert_df(df) st.download_button( label="Tải xuống CSV", data=csv_data, file_name="data.csv", mime="text/csv", )
Trong ví dụ này, chúng tôi mở một hình ảnh tệp, đọc nội dung tệp ở chế độ đọc nhị phân và chuyển nó đến nút tải xuống dưới dạng dữ liệu tham số.
nhập Streamlit dưới dạng st với open("image.jpg", "rb") dưới dạng tệp: btn = st.download_button( label="Tải xuống hình ảnh", data=file, file_name="image.jpg", mime="image/ jpeg")
Nhìn chung, các thành phần st.file_uploader và st.download_button trong Streamlit là những công cụ chính tương thích với tệp.
Trình tải tệp lên xử lý tốt các loại tệp và tải lên nhiều tệp.
nút tải xuống gọi lại loại nút và chức năng, đồng thời vô hiệu ứng dụng chạy lại.
Cuối cùng, bài viết về "Chơi với Streamlit" - tải lên và tải xuống các tập tin end ở đây. "Chơi với Streamlit" - tải lên và tải xuống các tập tin, vui lòng tìm kiếm các bài viết CFSDN hoặc tiếp tục duyệt các bài viết liên kết quan, tôi hy vọng bạn sẽ ủng hộ blog của tôi trong tương lai .
Tôi là một lập trình viên xuất sắc, rất xuất sắc!