2017-09-11 1 views
-2

vb.net 웹 사이트를 상속 받았으며 서버에서 .pdf 파일을 다운로드 할 수있는 페이지를 추가하려고합니다.asp 컨트롤없이 파일 다운로드

이것은 나의 원래 시도 인 Clickable Link Not appearing on page from generated anchor tag이고, runat="server"과 함께 자바 스크립트에 앵커 태그를 생성했기 때문에 실패했습니다.
이제는 왜 작동하지 않는지 이해합니다.

<a href='download.aspx?type=inspection&file=NNNNNN.pdf'>Download NNNNNN.pdf</a>` 

무엇과 같이 download.aspx 보면 download.aspx.vb 않습니다 :이 같은 간단한 앵커 태그가있는 경우 :

그래서, 내 질문에 바뀌 었습니까?

유효한 URL인지 알아보기 위해 IIS에서 무엇인가를 변경해야합니까?

웹에서 찾은 예제가 모두 ASP 컨트롤에 의존하기 때문에 ASP 컨트롤없이이를 수행하는 방법에 대해이 질문을하고 있습니다.

저는 Windows/IIS/vb.net의 noob입니다. 답변에서 가능한 한 구체적으로 작성하십시오. 이 코드 부분이 아닌 전체 파일 때문에

이 질문에 Reading a binary file and using Response.BinaryWrite() 는 내 질문에 대답하지 않습니다. 나는 그 조각들을 하나의 파일에 집어 넣고 그것을 디버그하는 것에 확신을 갖기에는 vb.net에 너무 익숙하지 않다.

+0

정확히 작동하지 않는 것은 무엇입니까? 네가 어디서 붙어 있는지 분명하지 않다. 여기에 표시되는 것은 URL에 대한 링크입니다. 해당 URL에 페이지를 구현 했습니까? 뭔가 실패 했나요? – David

+0

https://stackoverflow.com/q/1300729/656243 –

+0

PDF 파일은 서버에 어디에 저장되어 있습니까? 데이터베이스 또는 웹 서버의 파일 시스템에 있습니까? PDF 파일은 '정적'문서입니까 (웹 마스터가 완전히 통제 할 수 있습니까)? 아니면 웹 사용자가 업로드 할 수있는 문서입니까? –

답변

2

download.aspx는 ... 어떻게 생겼습니까?

<%@ Page Language="VB" AutoEventWireup="true" CodeFile="download.vb" %> 

어떤 모양 download.vb 않습니다 ... :

이것은 download.aspx 파일의 전체 될 수 있을까? 이 같은

뭔가 :

Imports System; 
Imports System.Web; 

Public Partial Class Download Inherits System.Web.UI.Page 

    Protected Sub Page_Load(sender As Object sender, e As EventArgs) 
     Response.Clear() 
     Response.ClearHeaders() 
     Response.ClearContent() 

     Response.AddHeader("Content-Disposition", "attachment; filename=YourFileNameHere") 
     Response.ContentType = "content type here (ie: application/x-pdf)"; 

     'Load and write the file data to the Response stream here 

     Response.End();  
    End Sub 
End Class 

당신은 또한 HttpHandler를 (* .ASHX)를 사용하여 성능에 (작은) 향상을 얻을 수 있습니다 대신 페이지.

+0

여기에 "Class Download"를 "Class MY_PATH_Download"로 변경하십시오. b) "CodeFile ="download.vb ""를 "CodeFile ="Download.aspx.vb "로 변경하십시오. Inherits = "MY_PATH_Download" " –

관련 문제