2009-11-28 32 views

Trả lời

8

Nói chung, SWF từ máy chủ web không thể đọc tệp từ máy khách. Nhưng nó có thể tải lên các tệp do người dùng chọn từ máy khách đến máy chủ. Một hộp thoại cụ thể của hệ điều hành sẽ nhắc người dùng chọn tệp được tải lên máy chủ. Do đó Flash không thể đọc bất kỳ tệp nào mà nó muốn, chỉ những tệp được người dùng cho phép rõ ràng.

Trước khi Flash player 10, SWF không có quyền truy cập trực tiếp vào nội dung của tệp đang được tải lên - tất cả nó đã hoạt động như một giao diện để chọn tệp và gửi tệp đó đến máy chủ. Cách duy nhất để lấy nội dung của nó là gửi lại từ máy chủ đến SWF sử dụng URLLoader.

Tuy nhiên bắt đầu từ FP10, lớp FileReferenceload() phương pháp cho phép bạn tải người dùng chọn tệp trực tiếp lên SWF, thay vì đi qua nó thông qua máy chủ.

Quy tắc tương tự áp dụng cho việc tải xuống - tệp chỉ có thể được lưu vào máy của người dùng khi có sự cho phép của họ và tại vị trí và tên được chỉ định bởi người dùng. Trước FP10, bạn chỉ có thể tải xuống một tệp từ máy chủ cho máy khách - nếu bạn phải lưu một số hình ảnh được tạo bằng cách sử dụng SWF của bạn cho máy khách, bạn phải gửi nó tới máy chủ và sau đó nhắc người dùng tải xuống nó. Bắt đầu từ FP10, bạn có thể ghi dữ liệu trực tiếp từ SWF (với sự cho phép từ người dùng, tất nhiên).


Ngoài ra, SWF có thể lưu trữ SharedObjects trong máy khách tương tự với cookie của trình duyệt. Lưu trữ các đối tượng được chia sẻ không liên quan đến bất kỳ hộp thoại hoặc quyền nào từ người dùng. Sau đây được trích dẫn từ trang livedocs được liên kết ở trên.

Đối tượng dùng chung cục bộ có một số hạn chế quan trọng cần xem xét khi bạn thiết kế ứng dụng của mình. Đôi khi các tệp SWF có thể không được phép ghi các đối tượng được chia sẻ cục bộ và đôi khi dữ liệu được lưu trữ trong các đối tượng được chia sẻ cục bộ có thể bị xóa mà bạn không biết. Người dùng Flash Player có thể quản lý dung lượng đĩa khả dụng cho từng miền hoặc cho tất cả các miền. Khi người dùng giảm dung lượng đĩa có sẵn, một số đối tượng dùng chung cục bộ có thể bị xóa. Người dùng Flash Player cũng có quyền kiểm soát bảo mật có thể ngăn các tên miền của bên thứ ba (các tên miền không phải tên miền trong thanh địa chỉ trình duyệt hiện tại) đọc hoặc viết các đối tượng dùng chung cục bộ.

1

Trình phát Flash có cơ chế bảo mật được gọi là sandbox để bảo vệ các tệp cục bộ của người dùng với tư cách người dùng bạn không muốn tập lệnh flash có quyền truy cập vào tệp riêng tư của mình.

Có 2 cách để bạn có thể truy cập vào các tệp này: 1) người dùng cấp quyền truy cập trình phát flash vào một thư mục nhất định (nhấp chuột phải vào trình phát flash -> cài đặt -> nâng cao -> bảo mật) 2) sử dụng adobe air để kết thúc tốt nhất trình phát flash với một cây cầu thực thi cho phép truy cập vào hệ thống tệp -> đây sẽ không phải là ứng dụng web mà là chương trình do người dùng cài đặt.

Flash có trình tải lên tệp có thể giúp bạn cho phép người dùng tải thủ công tệp vào chương trình của bạn nếu điều đó giúp

+1

Tôi nhận thấy câu trả lời của bạn đã lâu rồi. Tuy nhiên, thuật ngữ KHÔNG phải là "sanbox", nó là "sandbox", xem https://en.wikipedia.org/wiki/Sandbox_(computer_security). Liên kết trong câu hỏi của bạn từ "hộp thư đến" dường như đã chết và các tuyến đường đến một trang chung. Vì câu hỏi này nằm trên trang đầu tiên của tìm kiếm google mà tôi vừa mới thực hiện và câu trả lời của bạn vẫn bổ sung một số thông tin hữu ích, có thể tốt hơn để cải thiện câu trả lời của bạn, sử dụng "sandbox" và liên kết tới một cái gì đó như wkipedia. – gbulmer

+0

Đã sửa, cảm ơn! – Eran

Các vấn đề liên quan