既存のASP.NETプロジェクトを変更しています。元の作成者は、可視性を非表示に設定し、2つのカスタムスタイルの参照ボタンと保存ボタンを作成するだけで、スタイル付きasp:FileUploadを誤って作成しようとしました。
セキュリティ上の理由から、IEはこれを許可していません。私の戦略は、代わりに この例 のようにtype = "file"で入力タグを使用することです。 _<input type="file" ID="inputFile" />
_のような入力を設定します。コードビハインドでファイルにアクセス/保存するにはどうすればよいですか?inputFile.SaveAs("someFile.txt");
?また(コードビハインドで)_inputFile.HasFile
_のようなことを行うことはできますか?これの他のアナログ?
推奨事項に従って、私は次のようなことを試みています:
_ <td>
Enabled: <asp:CheckBox ID="CheckBox2" runat="server" />
<div id="testFileUploader">>
<input type="file" id="browserHidden" runat="server" />
<div id="browserVisible"><input type="text" id="fileField" /></div>
</div>
</td>
_
したがって、ASPXページのGUID
にあるCodeBehind
に基づいて、将来のアップロード用にランダムなファイル名を生成できます。
HttpPostedFile filePosted = Request.Files["uploadFieldNameFromHTML"];
if (filePosted != null && filePosted.ContentLength > 0)
{
string fileNameApplication = System.IO.Path.GetFileName(filePosted.FileName);
string fileExtensionApplication = System.IO.Path.GetExtension(fileNameApplication);
// generating a random guid for a new file at server for the uploaded file
string newFile = Guid.NewGuid().ToString() + fileExtensionApplication;
// getting a valid server path to save
string filePath = System.IO.Path.Combine(Server.MapPath("uploads"), newFile);
if (fileNameApplication != String.Empty)
{
filePosted.SaveAs(filePath);
}
}
Request.Files["uploadFieldNameFromHTML"]
の場合、ここでHTMLコードにIDを設定します。
<input type='file' id='...' />
また、ASPXページのメインフォームでrunat="server"
を定義することを忘れないでください。メインフォームで設定し、enctype="multipart/form-data"
の<form>
パラメーターを忘れないでください。
<body>
<form enctype="multipart/form-data" id="form1" runat="server">
<input type='file' id='uploadFieldNameFromHTML' />
...
Runat = "server"をオブジェクトに追加します。このようにして、他のasp:FileUploadコントロールと同じようにCodeBehidで機能します。
コメントしたように、runat = "server"を入力ファイルタグに追加できます。
別の手で、あなたが求めているものについての同様の投稿がすでにあります。これをチェックしてください:
FileUploadサーバーコントロールを使用せずにASP.netにファイルをアップロードする
この助けを願っています
乾杯!
if(fileUrunResim.HasFile)
fileUrunResim.SaveAs(MapPath("~/Images/" + fileUrunResim.FileName));
**if you unique filename,**
string extension = Path.GetExtension(fileUrunResim.FileName);
string fileName = Guid.NewGuid().ToString().Substring(0, 25) + extension ;
if(fileUrunResim.HasFile)
fileUrunResim.SaveAs(MapPath("~/Images/" + filename ));