Từ những gì tôi hiểu cho asp.net FileUpload.FileName ruturns đường dẫn đầy đủ trong khi trong firefox nó trả về chỉ tên tập tin. Làm thế nào tôi sẽ loại bỏ các đường dẫn từ chuỗi trả về như tôi chỉ cần các tên tập tin mã hóa html.asp.net FileUpload.FileName trả về đường dẫn đầy đủ, tức là khi không cần thiết
Trả lời
Bạn có thể sử dụng lớp tĩnh Path để lấy tên tệp.
var fileName = Path.GetFileName(somePath);
Và HttpUtility lớp tĩnh để mã hóa.
var encoded = HttpUtility.HtmlEncode(fileName);
Ngay cả với 'fileName = HttpUtility.HtmlEncode (Path.GetFileName (fileBrowser.PostedFile.FileName))' nó vẫn trả về đường dẫn đầy đủ – Reahreic
Ok, ý bạn là gì bởi đường dẫn đầy đủ. Bởi vì nếu bạn gọi 'Path.GetFileName (" C: \ mypath \ myfile.txt ");' thì bạn sẽ lấy lại '" myfile.txt "' – Josh
C: \ Users \ wolmarans \ Desktop \ xxyyzz.png – Reahreic
Vì vậy, có cài đặt IE (không chỉ trong IE8 nhưng phiên bản mới hơn) trong Công cụ -> Tùy chọn Internet -> Bảo mật cho phép bạn bao gồm hoặc loại trừ đường dẫn tệp tải lên cục bộ.
Vì lý do đó, nếu bạn không muốn giữ đầy đủ thông tin đường dẫn, nó là an toàn nhất để lột một cách rõ ràng đường dẫn nếu bạn đang muốn hỗ trợ trình duyệt IE (không chắc chắn nếu bất kỳ trình duyệt khác có một môi trường như vậy).
Như đã đề cập trong Josh, Path.GetFileName (...) là một lựa chọn tốt. Bạn cũng có thể sử dụng string.Split kết hợp với LINQ.
string fileNameOnly = somePath.Split('\\').Last();
Path.GetFileName(Request.Files["file"].FileName)
- 1. Cách nén thư mục không có đường dẫn đầy đủ
- 2. Nhận đường dẫn đầy đủ của các tệp trong PowerShell
- 3. mẫu log4net gì cung cấp cho tên tập tin mà không cần đường dẫn đầy đủ
- 4. xây dựng tên đường dẫn đầy đủ trong python,
- 5. Tìm tên tệp từ đường dẫn tệp đầy đủ
- 6. Đường dẫn đầy đủ của tệp Xcode 4
- 7. Đường dẫn đầy đủ từ đầu vào tệp bằng jQuery
- 8. Đường dẫn đầy đủ của cá tương tác Shell
- 9. Nhận đường dẫn tệp đầy đủ trong java
- 10. Cách ưa thích để có được đường dẫn máy chủ đầy đủ trong chế độ xem ASP.NET MVC là gì?
- 11. Nhận đường dẫn đầy đủ để nộp trong khi gỡ lỗi bằng IIS Express
- 12. Cách lấy đường dẫn đầy đủ của StreamWriter
- 13. ASP.NET MVC - làm cách nào để có được đường dẫn đầy đủ đến một hành động
- 14. Tìm đường dẫn đầy đủ của trình thông dịch Python?
- 15. Cách áp dụng bộ định tuyến đường trục cho đường dẫn đầy đủ, không phải là băm
- 16. CMake là liên kết againts đường dẫn đầy đủ của thư viện
- 17. Tìm chỉ in tên tệp, chứ không phải đường dẫn đầy đủ
- 18. đường dẫn trả về chuỗi trống
- 19. ASP.NET - Cấp độ tin cậy = Đầy đủ?
- 20. Cài đặt thủ công PageCount của GridView khi DataSource không trả về tập hợp kết quả đầy đủ?
- 21. ggplot2: stat_smooth cho kết quả hậu cần với facet_wrap trả về mô hình glm 'đầy đủ' hoặc 'tập hợp con'
- 22. Làm cách nào để buộc Doxygen hiển thị đường dẫn đầy đủ?
- 23. SSIS, SSAS, SSRS video hướng dẫn đầy đủ
- 24. Làm thế nào để không viết đường dẫn mô-đun đầy đủ trong ruby?
- 25. Làm cách nào để chỉ lấy tên lớp, không phải đường dẫn đầy đủ?
- 26. restoreCompletedTransactions trả về thông tin không đầy đủ trong môi trường sandbox
- 27. Mở tập tin từ đường dẫn đầy đủ dưới con trỏ trong Vim
- 28. Tôi cần một đường dẫn đầy đá quý từ bên trong một ứng dụng đường ray
- 29. Sử dụng sed để lấy tên tập tin từ đường dẫn đầy đủ?
- 30. Hàng đợi Đầy đủ, Chiều sâu của Hàng đợi Chặn, làm rõ cần thiết
'FileName' ist chỉ là tên tập tin ngay cả trong IE bắt đầu với IE8. http://blogs.msdn.com/b/webtopics/archive/2009/07/27/uploading-a-file-using-fileupload-control-fails-in-ie8.aspx –
Tôi phải hỗ trợ cả IE7 và 8 , mặc dù im nhận thấy rằng trong khi chế độ trình duyệt của tôi là ie8 chế độ tài liệu giữ trở lại IE7 Trong IE7 và IE8 nó trả về 'NewsImages/C: \ Users \ wolmarans \ Desktop \ xxyyzz.png" ' – Reahreic
IE rất tệ: ( –