사용자가 Sitecore 미디어 라이브러리에 저장된 PDF 파일을 다운로드 할 수 있도록합니다. 기본적으로, 사용자가 다운로드 할 수있는 PDF 링크가있는 전자 메일을 보내고 있습니다.Sitecore 8.0 미디어 라이브러리에서 파일 다운로드 허용
이것이 가능합니까? 그렇다면 사용할 URL은 무엇입니까?
우리는 Sitecore 8.1, .Net MVC 및 GlassMapper를 사용하고 있습니다.
: 유리 매퍼에서 은 필자 내 GlassMapper 모델에서 있습니다 .. ASHX 파일하지만 나던 작동하는 것처럼 경로를 제공하는 링크의 href가 같은 모델의 파일의 src 속성을 사용하여시도
[SitecoreField("FileForDownload", UrlOptions = Glass.Mapper.Sc.Configuration.SitecoreInfoUrlOptions.AlwaysIncludeServerUrl)]
public virtual File FileForDownload { get; set; }
는 FileForDownload.Src 여전히 5 월을 일으킬 수있는 상대 경로를주고있다 발생하는 예 : "발행 /~/media/XXX/Annual_Report2004Version2.ashx
이 GlassMapper에서 뛰어난 문제가 될 수 있습니다 enter link description here
내 이메일의 앵커가 사용하는 설정입니다
<a href='" + pub.FileForDownload.Src + "' download>" + pub.Description + "</a>
필자는 코드
MediaUrlOptions muo = new MediaUrlOptions();
muo.AlwaysIncludeServerUrl = true;
var item = Sitecore.Context.Database.GetItem(new ID(pub.Id));
String url = MediaManager.GetMediaUrl((MediaItem)item, muo);
를 사용하여 시도
그러나 나에게 404 결과 URL을 제공 먹으 렴 :
http://domainname/-/media/C9F3404515DC46288C5D73E123ACBD5D.ashx
미디어 아이템 URL을 가져 오는 코드를 보여주십시오. –
"download"라는 html 속성을 추가해보십시오. –
이메일에 상대적인 URL이 아닌 절대 URL이 있어야합니다. 상대는 사이트에서 작동하지만 이메일에서는 작동하지 않습니다. – Anton