こんにちは、C#を使用してファイルをアップロードしたいのですが、下の画像のように表示したいです。
- ボタンのテキストをデフォルトの「参照」から「アップロード」に変更したいと思います。
- ユーザーがこのページに戻ったときに、以前にアップロードした画像の名前をテキストボックスに表示したいと思います。
いくつかの検索の後、ボタン名を編集してテキストボックスの値を設定できないことがわかりました。
そこで、以下のコーディングを開発しました。
.ASPX
<input runat="server" id="File1" type="file" style=" visibility:hidden;" />
<input id="Text1" type="text" runat="server" />
<asp:Button ID="Button1" OnClientClick="fireFileClick()" runat="server" Text="Upload" />
JS
function fireFileClick() {
var objfile = document.getElementById("<%= File1.ClientID %>");
objfile.click();
var objTextBox = document.getElementById("<%= Text1.ClientID %>");
objTextBox.value = objfile.value;
}
.cs
private void SetPicture()
{
string strFileName = System.IO.Path.GetFileName(File1.PostedFile.FileName);
string strExtnt = strFileName.Substring(strFileName.LastIndexOf('.') + 1).ToUpper();
System.Drawing.Image UploadedImage = System.Drawing.Image.FromStream(File1.PostedFile.InputStream);
float UploadedImageWidth = UploadedImage.PhysicalDimension.Width;
float UploadedImageHeight = UploadedImage.PhysicalDimension.Height;
if (UploadedImageWidth < 185 && UploadedImageHeight < 51)
{
}
}
問題は、ファイル名とパスを取得できない .CS im にあります。変数 strFileName 、 strExtnt は空を返しています。誰かが私を導いてくれます。