2012-12-19 13 views
6

Tôi đang sử dụng sự kiện thả trong hoạt Javascript để upload file bằng cách sử dụng đoạn mã sau:javascript ondrop kiện

var fileName = event.dataTransfer.files[0].name;    
var orgValue = document.getElementById('<%=tbfilesCollections.ClientID%>').value; 
if (orgValue == 'undefined') { 
    orgValue = ''; 
} 
orgValue += orgValue == '' ? '' : '\n'; 
orgValue += "*" + fileName; 
document.getElementById('<%=tbfilesCollections.ClientID%>').value = orgValue; 
event.preventDefault(); 
return false; 

Nhưng mã này chỉ được tên tập tin ... Tôi cần phải nhận được đường dẫn đầy đủ của tập tin.

Trả lời

1

Vì bài đăng này chỉ ra, bạn không thể có được đường dẫn đầy đủ như bạn muốn: Javascript File Drop.

Như đã đề cập trong các nhận xét của Michael Sandino, có một cách để làm điều này trong Firefox với thuộc tính "mozFullPath", nhưng tôi chưa thấy cách triển khai phổ biến để hoàn thành việc này.

Lý do cho điều này tôi sẽ tưởng tượng là trình duyệt không nên tiết lộ thông tin liên quan đến cấu trúc thư mục của máy khách với ứng dụng web, điều này là dễ hiểu.

+0

cảm ơn ... nhưng làm thế nào để có được đường dẫn đầy đủ của tệp như ổ google cho ví dụ cũ. –

+0

Firefox có thuộc tính mozFullPath trên đối tượng Tệp ... nhưng đó không phải là di động rõ ràng –

+0

Một lần nữa tôi không tin rằng điều này là có thể theo một cách độc lập, bền vững, và chắc chắn là không cần thiết. Vấn đề là tập tin được tải lên, máy chủ không cần và không cần đường dẫn đầy đủ. Thậm chí nếu bạn sử dụng '' và nhận 'giá trị' sau khi lựa chọn tệp, bạn sẽ chỉ nhận được tên chứ không phải đường dẫn, mặc dù đường dẫn đầy đủ được viết ở trong cánh đồng. –