1

サーバーから画像をロードしてからビューにロードしようとしています:

var files = _directoryInfo.GetFiles()
            .Where(x => x.Name.Contains(request.WarrantyReference))
            .ToList();

model.Photos = files;

return View(model);

次に、ビューで次のことを行っています。

@if (Model.Photos.Count > 0)
{
    @Html.Partial("_Photos", Model.Photos)
}

_写真:

@model List<FileInfo>
<div class="ui items">
    @foreach (var photo in Model)
    {
        <div class="item">
            <div class="image">
                <img src="@photo.FullName">
            </div>
        </div>
    }
</div>

しかし、何も表示されず、コンソールに次のエラーが表示されます。

Not allowed to load local resource: 
    file://my-server/dataphoto/WX0001 1.jpg 

だから、写真をサーバーに一時的に保存してビューに提供できるかどうか疑問に思っていましたか、それとも別の方法がありますか?

4

2 に答える 2

1

Web サイトがアクセスできる AppPool サービング/ホスティングに使用されている ASP.NET ユーザーがどこかにファイルをコピーする必要があります。または、共有にアプリ プール アカウントの読み取り権限を付与します。もう 1 つの方法は、ファイルを読み取って byte[] に格納し、実際にファイルをディスクに書き込むことなく、最終的に画面/ビューにレンダリングすることです。

于 2013-11-04T13:35:38.003 に答える