/myfile.txt, 그러면 파일을 액세스 할 수 있으며 http를 통해 서비스를 제공 할 수 있습니다. 이 같은이 ProcessRequest 방법 (매우 semplified) 할 수
HttpHandler를, :
var exDir = @"\\Server\folder\Exception";
DirectoryInfo dir = new DirectoryInfo(exDir);
foreach (FileInfo exFile in dir.GetFiles())
{
exLabel.Text += @"<a href='downloader.ashx?file="+ exFile.Name + "'> "+exFile.FullName+" </a><br/>";
}
:
public void ProcessRequest(HttpContext context)
{
if (context.Request.Params["file"] != null)
{
string filename = context.Request.Params["file"].ToString();
context.Response.Clear();
context.Response.ClearContent();
context.Response.ClearHeaders();
context.Response.Buffer = true;
FileInfo fileInfo = new FileInfo(filename);
if (fileInfo.Exists)
{
context.Response.ContentType = /* your mime type */;
context.Response.AppendHeader("content-disposition", string.Format("attachment;filename={0}", fileInfo.Name));
context.Response.WriteFile(filename);
}
context.Response.End();
}
}
는 당신이 PARAM으로 파일 핸들러 점에 연결을 구축 할 수 있습니다 의 Web.config의 설정에 핸들러를 기억
이
<system.web>
<httpHandlers>
...
<add verb="*" path="downloader.ashx" type="YourNamespace.downloader"/>
</httpHandlers>
</system.web>
(물론이 샘플은 매우 바보입니다 르 및 오류가 가득 생각하지만, 그냥 방법을 명확히하는 것입니다)
http://kb.mozillazine.org/Links_to_local_pages_don%27t_work 문제는 파이어 폭스와 코드에 의한 것입니다 – bananajunk