2010-11-17 41 views
15

Tôi có một biểu mẫu có nhiều đầu vào xử lý tệp. Việc xác thực javascript là khá tốt khi kiểm tra để đảm bảo rằng mọi thứ đều tốt, nhưng một số thứ yêu cầu PHP kiểm tra (như loại mime của tệp), và đôi khi nó sẽ bị từ chối.Khôi phục giá trị của loại đầu vào = tệp sau khi xác thực không thành công

Vấn đề là, khi tôi gửi người dùng quay lại biểu mẫu, tôi có thể điền lại tất cả dữ liệu mà họ đã nhập ban đầu, ngoại trừ dữ liệu đầu vào có loại tệp. Firefox không cung cấp đường dẫn tệp tuyệt đối vì vậy tôi không thể chỉ sao chép trong đường dẫn tệp đến đầu vào.

Tôi có thể làm gì để điền lại loại đầu vào = phần tử biểu mẫu tệp?

Trả lời

14

Bạn không thể điền đầu vào tệp, để làm như vậy sẽ là một vấn đề bảo mật nghiêm trọng.

Thay vào đó, lưu trữ nội dung đã tải lên trên máy chủ và lưu trữ một id mà bạn có thể sử dụng để tham chiếu nó trong đầu vào bị ẩn.

Tự động xóa tệp sau khi chúng đạt đến độ tuổi nhất định và cung cấp phương tiện để người dùng thay đổi ý định về tệp họ muốn tải lên (ví dụ: hộp kiểm (được chọn theo mặc định) cho mỗi tệp được lưu trữ trên máy chủ để tải lên)

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