私は、ユーザーがSitecoreメディアライブラリに保存されているPDFをダウンロードできるようにしています。基本的には、ユーザーがダウンロードできるPDFへのリンクが付いた電子メールを送信しています。Sitecore 8.0メディアライブラリからのファイルのダウンロードを許可する
これは可能ですか?もしそうなら、どんなURLを使うべきですか?
Sitecore 8.1、.Net MVC、GlassMapperを使用しています。
:アイブ氏は私のGlassMapperモデルから.. ASHXファイルへのパスを提供しますが、それdoesntのは仕事に見えるリンクのHREFとしてモデルにをファイルのsrcプロパティを使用してみましたガラスマッパーで
[SitecoreField("FileForDownload", UrlOptions = Glass.Mapper.Sc.Configuration.SitecoreInfoUrlOptions.AlwaysIncludeServerUrl)]
public virtual File FileForDownload { get; set; }
結果FileForDownload.Srcはまだ可能性のある問題を引き起こしている可能性の相対パスを与えている 例えば「/~/media/XXX/Annual_Report2004Version2.ashx
をこれはGlassMapperで優れた問題になることがあります。enter link description here
私の電子メールでのアンカーは、セットアップがアイブ氏はまた、コード
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与えるthatsの
<a href='" + pub.FileForDownload.Src + "' download>" + pub.Description + "</a>
を使用している:
http://domainname/-/media/C9F3404515DC46288C5D73E123ACBD5D.ashx
メディアアイテムのURLを取得しているコードを表示します –
「ダウンロード」というhtml属性を追加しようとしましたか? –
電子メールには絶対的なURLではなく相対URLがあることを確認してください。相対的なサイトで動作しますが、電子メールではありません。 – Anton