ftp 사이트에서 직접 메모리 스트림으로 Excel 파일을로드하고 싶습니다. 그런 다음 OpenExcel (Stream) 메서드를 사용하여 FarPoint Spread 컨트롤에서 파일을 열고 싶습니다. 내 문제는 메모리에 직접 파일을 다운로드 할 수 있는지 확실하지 않다는 것입니다. 이것이 가능한지 누구나 아십니까?파일을 메모리에 직접 다운로드하십시오.
답변
예, FTP에서 메모리로 파일을 다운로드 할 수 있습니다.
FTP 서버에서 스트림을 전달하여 FarPoint에서 처리 할 수 있다고 생각합니다.
WebRequest request = FtpWebRequest.Create("ftp://asd.com/file");
using (WebResponse response = request.GetResponse())
{
Stream responseStream = response.GetResponseStream();
OpenExcel(responseStream);
}
WebClient를 사용하면 거의 동일하게 수행 할 수 있습니다. 일반적으로 WebClient를 사용하는 것이 더 쉽지만 적은 구성 옵션과 제어를 제공합니다 (예 : 제한 시간 설정 없음).
WebClient wc = new WebClient();
using (MemoryStream stream = new MemoryStream(wc.DownloadData("ftp://asd.com/file")))
{
OpenExcel(stream);
}
'WebResponse.GetResponseStream'은 임시 파일에 데이터를 저장하지 않고'FileStream' 또는 비슷한 것을 반환합니까? –
스트림을 읽기 시작할 때까지 다운로드를 시작하지 않습니다. 서버가 시간 초과 될 때까지 잠시 동안 계속 읽지 않으면이 문제에 대해 확신합니다. 참조하십시오 : http://msdn.microsoft.com/en-us/library/system.net.webresponse.getresponsestream(v=vs.110).aspx –
두 답변 모두 아름답게 작동합니다! 감사! – daved
WebClient.DownloadData을 살펴보십시오. 파일 디렉토리를 메모리에 다운로드하고 파일 디렉토리에 먼저 기록하지 않아야합니다.
이 검증되지 않은,하지만 뭔가 같은 :
var spreadSheetStream
= new MemoryStream(new WebClient().DownloadData(yourFilePath));
나는 스트림이 OpenExcel
방법으로 직접 사용할 수 있는지 여부를 말하고,하지만 파 포인트에 익숙하지 않다. Online examples은 FileStream
과 함께 사용되는 방법을 보여 주지만, 나는 어떤 종류의 Stream
도 받아 들일 것으로 생각합니다.
나를 찾는데 유용합니다. 웹 사이트에서 .zip 파일을 다운로드하려고했지만 새로운 WebClient()를 사용하고있었습니다. OpenRead (파일)를 사용하여 스트림을 가져 왔지만 "스트림이 탐색 작업을 지원하지 않습니다."라는 오류가 발생했습니다. Dunno는 왜이 것이 일했는지 그러나 나는 그것을 평가한다 :) – tehAon
- 1. zip + 파일을 메모리에 다운로드하십시오.
- 2. 파일을 직접 클라이언트에 파일 호스트에서 다운로드하십시오.
- 3. 컬을 사용하여 원격 파일을 직접 다운로드하십시오.
- 4. 인증 된 사용자를 위해 파일을 직접 다운로드하십시오.
- 5. 인스톨러없이 직접 git을 다운로드하십시오.
- 6. 파일을 다운로드하십시오.
- 7. 파일을 다운로드하십시오.
- 8. 프로젝트 자원에 파일을 다운로드하십시오.
- 9. 웹 사이트에서 직접 사이트 서버로 파일을 전송하거나 다운로드하십시오.
- 10. 셀렌을 사용하여 URL을 직접 입력하지 않고 파일을 다운로드하십시오.
- 11. Easy Digital 다운로드에서 무료 제품을 직접 다운로드하십시오.
- 12. C++ - 직접 메모리에 쓰기 (커널)
- 13. C - 메모리에 파일을 만듭니다.
- 14. 데이터를 PHP로 보내고 파일을 다운로드하십시오.
- 15. 파일을 메모리에 저장하고 Java에서 직접 사용하는 방법은 무엇입니까?
- 16. PHP를 사용하여 s3에서 파일을 다운로드하십시오.
- 17. 많은 파일을 서버에서 다운로드하십시오.
- 18. JProgressBar도 업데이트하면서 파일을 다운로드하십시오.
- 19. xml 파일에서 파일을 다운로드하십시오.
- 20. j2me에서 jar 파일을 다운로드하십시오.
- 21. 기울이지 않고 파일을 다운로드하십시오.
- 22. wget/curl 파일을 다운로드하십시오.
- 23. 복사에서 파일을 보호하려면 다운로드하십시오
- 24. 파일을 서버 plist에서 다운로드하십시오.
- 25. symfony 파일을 다운로드하십시오.
- 26. 다운로드 파일을 강제로 다운로드하십시오.
- 27. rails link_to 파일을 다운로드하십시오
- 28. 파일을 파이썬에서 문자열로 다운로드하십시오.
- 29. Google 드라이브에서 파일을 다운로드하십시오.
- 30. 웹에서 파일을 정기적으로 다운로드하십시오.
예; 그냥 스트림을 사용하십시오. – SLaks
좋아, 그럼 ftp 웹 주소 링크에서 파일을 스트림 인스턴스로 직접로드 할 수 있습니까? 아니면 먼저 파일을 사용자 컴퓨터에 다운로드해야합니까? 가능하다면 전자를 선호합니다. – daved