1

私は実際に、ユーザーが希望するファイルをアップロードできるようにするアプリに取り組んでいます。これらのファイルは、アップロードすると視覚化できるはずです。

これを行うために、Server.MapPathと他の値の連結を使用してファイルパスを取得しようとしています。ファイルパスは、window.openjavascript関数の引数として渡されます。

私の問題は、まったく結果が得られないことです。ウィンドウは開かれません。

これが私のコードです:

string completeUrl = Server.MapPath(ConfigurationManager.AppSettings["UsersImagesUploadFolder"] + CurrentUserLogin +
                               @"\\" + ((GridDataItem) e.Item)["Url"].Text);

string radWindowOpen = "<script type='text/javascript'>window.open('" + completeUrl + "')</" + "script>";
 Page.ClientScript.RegisterStartupScript(this.GetType(), "fileDisplay", radWindowOpen);

私はおそらく明らかな何かを見逃していますが、それが何であるかわかりません。

ご回答ありがとうございます。

4

1 に答える 1

2

Damien が指摘したように、Server.MapPathサーバー側のパス マッピングに使用されます。クライアントは、Web アプリの下のパスを確認する必要があります。

例えば:

Page.ResolveUrl("~/uploads/" + ConfigurationManager.AppSettings["UsersImagesUploadFolder"] ...

tohttp://mydomain/vroot/uploads/...などを解決します。

余談です@"\\"が、それはあなたが意図したとは思わない二重のバックスラッシュになることに注意してください。

またはのいずれかは@"\""\\"1 つのバックスラッシュになります。

于 2012-11-17T13:18:42.867 に答える