Có thể lấy tên tệp từ mảng hoặc luồng byte không? Tôi không muốn lưu tệp. Tôi chỉ muốn lấy lại tên.Nhận tên tệp từ mảng byte hoặc Luồng
Trả lời
Nếu Stream
thực sự là một FileStream
, sau đó này có thể có sẵn bằng cách đúc để FileStream
và truy cập vào .Name
tài sản:
Stream stream = ...
FileStream fs = stream as FileStream;
if(fs != null) Console.WriteLine(fs.Name);
Tuy nhiên, trong trường hợp chung: không, đây không phải là có sẵn. A byte[]
chắc chắn không có khái niệm về tên tệp cũng như hầu hết các loại luồng khác. Tương tự, luồng cơ sở FileStream
đang được bao bọc bởi các luồng khác (nén, mã hóa, lưu vào bộ đệm, v.v.) sẽ không hiển thị thông tin như vậy, mặc dù luồng bên dưới (một vài lớp xuống) là một tệp.
Tôi sẽ xử lý riêng tên tệp.
+1 Không bao giờ phát hiện ra tài sản đó trước đây, mặc dù tôi không có khả năng sử dụng nó lol –
Xin chào @Marc, cảm ơn lời giải thích tuyệt vời của bạn. Tôi sẽ thử và đăng kết quả. – Gus
Xin chào, Trong wcf tôi trả về một FileStream, nhưng khách hàng tôi nhận được một MessageBodyStream. Bất kỳ đề xuất? – Gus
Không thể thực hiện điều này (ok để có thể thực hiện được ở lớp FileStream
, học điều gì đó mới mỗi ngày!).
Một mảng byte hoặc dòng đại diện cho nội dung của tập tin, không Windows metadata về các tập tin.
Có rất nhiều cách đơn giản để giữ lại thông tin này, nhưng không biết nhiều hơn về tình huống của bạn Tôi không thể đưa ra giải pháp.
Xin chào @Adam, tôi hiểu. Cảm ơn sự giúp đỡ của bạn. – Gus
Tất cả thông tin tệp (chẳng hạn như tên, tiện ích mở rộng, v.v.) là một phần của dữ liệu meta cho tệp thực. Mảng byte sẽ chỉ giữ dữ liệu thực tế. Nó có thể là có thể nếu mảng byte chính nó chứa dữ liệu meta (ví dụ một tập tin xml) ... tuy nhiên, bạn cần phải biết loại và cụ thể nơi để tìm.
Xin chào @Code, Cảm ơn sự giúp đỡ của bạn. – Gus
- 1. API để nhận IL từ mảng byte
- 2. Cách thêm tệp đính kèm email từ một mảng byte?
- 3. SslStream TcpClient - Đã nhận EOF không mong muốn hoặc 0 byte từ luồng truyền tải
- 4. zlib từ C++ đến C# (Cách chuyển đổi byte [] thành luồng và luồng thành byte [])
- 5. Trong Java: Cách nén tệp từ mảng byte []?
- 6. Nhận tên tệp từ FileOutputStream
- 7. luồng byte và luồng ký tự
- 8. Nhận luồng từ tệp/nội dung tài nguyên
- 9. Nhận TextReader từ luồng?
- 10. Tạo PrivateKey từ mảng byte
- 11. Nhận kích thước của tệp từ mảng byte (không lưu vào đĩa)
- 12. Gửi mảng blob hoặc byte trong XML
- 13. socket gửi và nhận byte mảng
- 14. Byte mảng hoặc ma trận để bitmap
- 15. Đọc khoảng bit từ mảng byte
- 16. URL để tải tệp video hoặc luồng từ YouTube?
- 17. Nhận luồng từ XmlReader
- 18. Mở luồng IO từ tệp cục bộ hoặc url
- 19. Cách phát video từ mảng Byte?
- 20. Android: Nhận tên tệp từ máy ảnh?
- 21. OpenCV tạo Mat từ mảng byte
- 22. Chuyển mảng byte thành tệp wav
- 23. Đọc dòng từ mảng byte (không chuyển đổi mảng byte thành chuỗi)
- 24. Nhận một bit cụ thể từ byte
- 25. Nhận byte từ std :: string in C++
- 26. Nhận mảng byte âm thanh với API âm thanh HTML5?
- 27. Luồng dưới dạng tệp đính kèm vào System.Net.Mail là 0 byte
- 28. Nhận dữ liệu chuỗi từ byte được mã hóa
- 29. Cách tốt nhất để chuyển đổi luồng (không biết chiều dài) thành mảng byte, trong .NET?
- 30. cách đọc byte theo byte từ một tệp
Hi @mekici, là .doc. – Gus