Tôi gặp sự cố với tệp tải xuống khi tải xuống thay thế tất cả các dấu cách bằng dấu gạch dưới.Tại sao HttpUtility.UrlEncode (HttpUtility.UrlDecode ("% 20")) trả về + thay vì% 20?
Về cơ bản tôi nhận được một vấn đề ở đây:
Response.AddHeader("Content-Disposition",
"attachment; filename=" + someFileName);
Vấn đề là nếu someFileName đã có một không gian trong đó như "kiểm tra out.txt này", sau đó người dùng sẽ được nhắc nhở để tải về "check_this_out .txt ".
I figured lựa chọn tốt nhất sẽ được URLEncode tên tập tin vì vậy tôi cố gắng
HttpUtility.UrlEncode(someFileName);
Nhưng nó thay thế khoảng trống bằng dấu cộng, mà bối rối tôi. Vì vậy, sau đó tôi chỉ cần thử
HttpUtility.UrlEncode(HttpUtility.UrlDecode("%20"))
và giải mã hoạt động đúng cách và mang lại cho tôi một không gian, nhưng mã hóa chiếm không gian và sau đó mang lại cho tôi dấu cộng.
Tôi thiếu gì ở đây, điều này có đúng không? Nếu vậy, làm thế nào tôi nên mã hóa không gian đúng cách vào% 20, đó là những gì tôi cần.
Cảm ơn, tôi đã tìm thấy điều này trong một bài viết khác ở nơi khác với cùng giải pháp như bạn có. Tôi có thể sẽ phải làm điều này, nhưng nó chỉ cảm thấy sai/bẩn đối với tôi. Oh well. – Joseph