… WebClient wc = 새 웹 클라이언트();wc) Headers.Add(“사용자 에이전트”, “모질라/5.0(Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, 도마뱀처럼)”);일부 문자열 = wc. 다운로드 스트링(“http://www.example.com/somefile.txt”); … System.Net;공용 클래스 WebClientWithTimeout:WebClient{ 보호 된 재정의 WebRequest GetWebRequest (Uri 주소) { WebRequest wr = 베이스를 사용 하 여. GetWebRequest(주소); Wr. 시간 시간 : 5000; 시간 시간(ms)의 시간 아웃은 wr을 반환합니다. }}… 문자열 일부 문자열; try{ WebClient wc = 새 WebClientWithTimeout(); 일부 문자열 = wc. 다운로드 스트링(“http://www.example.com/somefile.txt”);} catch (WebException 우리){ // 오류 처리 MessageBox.Show (우리)의 일종을 추가합니다. ToString());} 2 년 후 댈러스의 대답을 사용했지만 직접 파일에 연결했기 때문에 HttpWebRequest를 FileWebRequest로 변경해야했습니다. 이것이 모든 곳에서 그런 경우인지 확실하지 않지만 추가 할 것이라고 생각했습니다.
또한 FileIO권한을 제거하여 파일 이름을 작성했습니다. 관련 열거: 쓰기. DownloadFile 메서드는 주소 매개 변수에 의해 지정된 URI에서 로컬 파일 데이터에 다운로드합니다. 이 메서드는 리소스를 다운로드하는 동안 차단합니다. 리소스를 다운로드하고 서버의 응답을 기다리는 동안 계속 실행하려면 DownloadFileAsync 방법 중 하나를 사용합니다. 나는 실제로 URL을 공급 한 후 asp.net 그 파일을 잡는 방법에 문제가 … 어떤 도움이 라도 좋을 것입니다! 다음 코드 예제는 http://www.contoso.com 로컬 하드 드라이브로 파일을 다운로드합니다. 비공개 폴더의 URL은 http://www.mysite.com/Private. 해당 URL에 대한 모든 요청은 기본 문서를 호출하며, 이 경우 개인/Default.aspx입니다. 양식 인증에서 보호되고 모든 .aspx 파일이 aspnet.dll에 매핑되므로 양식 인증이 시작되고 아직 로그인하지 않은 사용자는 개인/Login.aspx로 리디렉션됩니다. Login.aspx간단한 로그인 컨트롤이 포함되어 있습니다 : 브라우저에서 프롬프트로 저장되는 파일을 스트리밍해야합니다. 문제는 파일이 있는 디렉터리는 사실상 매핑되므로 Server.MapPath를 사용하여 실제 위치를 확인할 수 없습니다.
디렉터리(라이브 박스의 피지컬 서버)가 웹 사이트와 동일하지 않습니다. 올바른 이 기능을 사용하려면 서버에서 파일을 버퍼링하고 여러 요청을 통해 파일을 유지해야 합니다. System.Net 사용; WebClient wc = 새 웹 클라이언트(); 화장실. 다운로드 파일(“http://www.example.com/somefile.txt”, @”c:tempsomefile.txt”); 앵커 요소를 사용하면 href 특성을 사용하여 리소스에 대한 하이퍼링크를 렌더링할 수 있습니다. 특정 상황에서 유용 할 수있는 앵커 요소 – 다운로드의 덜 알려진 특성이 있습니다. 다운로드 특성은 브라우저가 href 특성에 언급된 대로 리소스를 다운로드하도록 지시합니다. 또한 다운로드의 기본 파일 이름을 지정할 수도 있습니다. 구성 기본 경로에서 파일 경로를 구축한 다음 나머지 경로에 추가할 수 있지만 대신 이 방법으로 할 수 있기를 바랍니다. 굵은 글씨로 표시된 코드를 확인합니다.
코드는 ImageFiles 페이지 모델 속성의 모든 이미지 파일을 통해 다시 진행됩니다. 모든 반복은 /wwwroot/images 폴더에서 해당 이미지 파일을 가리키는 하이퍼링크를 렌더링합니다. 다운로드 특성은 파일 다운로드 대화 상자에 표시할 다른 이름을 설정합니다. 다운로드 이름은 원본 파일 이름에 날짜 스탬프를 추가합니다. 이것은 GetFileNameWithoutExtension() 및 GetExtension() 메서드를 사용하여 수행됩니다. 사용자 원본 다운로드 링크와 스트림 파일을 보고 MySite.Com 다운로드하고 싶지 않습니다.