私はボタンがあるページを作成し、クリックすると登録ページにリダイレクトしてPDFファイルをダウンロードする必要があります。だから、Umbracoにファイルアップロードフィールドがあり、そこに1つのファイルをアップロードしたドキュメントタイプを作成しました。そのテンプレートには、登録ページの部分的なビューを持つマクロが追加されています。登録完了後、このpdfファイルは自動的にダウンロードされます。Umbracoのメディアに保存されているPDFファイルをダウンロードできますか?
私の問題は、アップロードしたファイルがメディアライブラリに表示されていないことです。 URLは次のとおりです:/media/1051/filname.pdf。
コントローラでこのURLを取得しています。そのIDを使用してファイルを取得できませんでした。
[HttpPost]
public HttpResponseMessage DownloadFile([FromBody] DownloadEBookViewModel model)
{
int id = Convert.ToInt32(model.Url.Split('/')[2]);
var media = Umbraco.Media(id).Url;
if (!File.Exists(media))
throw new HttpResponseException(HttpStatusCode.NotFound);
HttpResponseMessage Response = new HttpResponseMessage(HttpStatusCode.OK);
byte[] fileData = File.ReadAllBytes(media);
if (fileData == null)
throw new HttpResponseException(HttpStatusCode.NotFound);
Response.Content = new ByteArrayContent(fileData);
Response.Content.Headers.ContentType = new MediaTypeHeaderValue("application/octet-stream");
return Response;
}
お手数ですがお手数ですが、ありがとう
おかげ。それは本当に私を助けた –
あなたは歓迎です:) – Mark