Tôi muốn tải một tập tin excel trực tiếp từ một trang FTP vào một dòng bộ nhớ. Sau đó, tôi muốn mở tập tin trong điều khiển FarPoint Spread bằng phương thức OpenExcel (Stream). Vấn đề của tôi là tôi không chắc chắn nếu nó có thể tải về một tập tin trực tiếp vào bộ nhớ. Bất cứ ai biết nếu điều này là có thể?Tải tập tin trực tiếp xuống bộ nhớ
Trả lời
Có, bạn có thể tải xuống tệp từ FTP sang bộ nhớ.
Tôi nghĩ bạn thậm chí có thể truyền Luồng từ máy chủ FTP để được xử lý bởi FarPoint.
WebRequest request = FtpWebRequest.Create("ftp://asd.com/file");
using (WebResponse response = request.GetResponse())
{
Stream responseStream = response.GetResponseStream();
OpenExcel(responseStream);
}
Sử dụng WebClient bạn có thể làm gần như giống nhau. Nói chung, việc sử dụng WebClient dễ dàng hơn nhưng cung cấp cho bạn ít tùy chọn cấu hình và kiểm soát hơn (ví dụ: Không cài đặt thời gian chờ).
WebClient wc = new WebClient();
using (MemoryStream stream = new MemoryStream(wc.DownloadData("ftp://asd.com/file")))
{
OpenExcel(stream);
}
Chúng ta có chắc chắn 'WebResponse.GetResponseStream' không xô dữ liệu vào một tệp tạm thời và trả về một' FileStream' hoặc một cái gì đó tương tự? –
Nó thậm chí không bắt đầu tải xuống bất cứ thứ gì cho đến khi bạn bắt đầu đọc luồng. Tôi chắc chắn về điều này, vì nếu bạn không tiếp tục đọc trong một thời gian các máy chủ sẽ hết thời gian chờ. xem: http://msdn.microsoft.com/en-us/library/system.net.webresponse.getresponsestream(v=vs.110).aspx –
cả hai câu trả lời đều hoạt động tốt đẹp! Cảm ơn! – daved
Hãy xem WebClient.DownloadData. Bạn có thể tải thư mục tệp xuống bộ nhớ và không ghi nó vào tệp trước.
Đây là chưa được kiểm tra, nhưng cái gì đó như:
var spreadSheetStream
= new MemoryStream(new WebClient().DownloadData(yourFilePath));
Tôi không quen thuộc với Farpoint tuy nhiên, để nói hay không dòng có thể được sử dụng trực tiếp với các phương pháp OpenExcel
. Online examples hiển thị phương thức được sử dụng với số FileStream
, nhưng tôi cho rằng bất kỳ loại nào là Stream
đều sẽ được chấp nhận.
Tìm thấy điều này hữu ích cho tôi. Tôi đã cố gắng để tải về một tập tin .zip từ một trang web nhưng đã được sử dụng mới WebClient(). OpenRead (tập tin) để có được dòng nhưng nhận được một "dòng không hỗ trợ tìm kiếm hoạt động" lỗi. Dunno tại sao điều này làm việc nhưng tôi đánh giá cao nó :) – tehAon
- 1. Volley - tải trực tiếp vào tập tin (không có trong mảng byte bộ nhớ)
- 2. tải .so tập tin từ bộ nhớ
- 3. Chuyển hướng/Pipe wget tải xuống trực tiếp vào gunzip
- 4. C - tạo tập tin trong bộ nhớ
- 5. Cách tải trực tiếp đối tượng s3 vào bộ nhớ trong java
- 6. Tải xuống bộ nhớ trong có thể?
- 7. Nhắc vị trí tải xuống thay vì tải xuống trực tiếp
- 8. tập tin âm thanh Streaming và bộ nhớ đệm nó
- 9. Tập tin ánh xạ bộ nhớ .NET
- 10. Nội dung tập tin ống Powershell vào ứng dụng mà không tải tập tin vào bộ nhớ
- 11. Android - Nơi lưu trữ nội dung đã tải xuống, bộ nhớ trong và bộ nhớ ngoài?
- 12. Jquery loại trực tiếp: Render mẫu trong bộ nhớ
- 13. Truy cập bộ nhớ trực tiếp trong Linux
- 14. Bộ nhớ cache tập tin Python
- 15. Mở một tập tin trong bộ nhớ
- 16. Cách phân biệt giữa các bộ sưu tập NodeList trực tiếp và không trực tiếp?
- 17. Tập tin đọc Java vào bộ nhớ và cách không làm nổ bộ nhớ
- 18. DENY tải xuống trực tiếp tệp bằng cách sử dụng php
- 19. cách tải xuống video trực tuyến jwplayer?
- 20. Làm thế nào để bạn sử dụng youtube-dl để tải xuống các luồng trực tiếp (trực tiếp)?
- 21. Đọc một tập tin nằm trong bộ nhớ với libavformat
- 22. Sự khác biệt giữa bộ sưu tập trực tiếp và không trực tiếp trong bộ chọn Javascript là gì?
- 23. ASP.Net Tải tập tin xuống trình duyệt của khách hàng
- 24. Wicket: tải xuống các tập tin sau khi onSubmit
- 25. AFNetworking + tệp tải xuống lớn + tiếp tục tải xuống
- 26. Tải lên đầu ra FFmpeg trực tiếp lên Amazon S3
- 27. Bộ nhớ ánh xạ MappedByteBuffer hoặc ByteBuffer trực tiếp để thực hiện DB?
- 28. WebAPI Tập tin tải lên - Nếu không có ghi tập tin vào đĩa
- 29. Làm thế nào để ngăn chặn âm thanh HTML5 từ tải xuống/phát trực tiếp khi tải?
- 30. Số byte trực tiếp so với bộ nhớ thực trong màn hình hoạt động trên iOS
Có; chỉ cần sử dụng luồng. – SLaks
Được rồi, vì vậy tôi có thể tải tệp từ liên kết địa chỉ web ftp trực tiếp vào một phiên bản luồng? Hoặc tôi có cần tải tệp xuống máy của người dùng trước không? Tôi thích cái cũ hơn nếu có thể. – daved