首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> ASP.NET 基礎

ASP.NET FileUpload 顯示本地文件絕對路徑預覽(IE 專用行為)

     編輯:ASP.NET 基礎

現象說明

舊版 IE(IE6-IE9)在 `` 的 `value` 屬性中包含完整本地路徑(如 `C:\Users\Name\Pics\photo.jpg`),可直接賦給 `` 預覽。現代瀏覽器(含 IE10+)出於安全考慮僅返回文件名(`C:\fakepath\photo.jpg`),此方案已不可用於生產環境。

原始代碼(僅供歷史參考)

<head runat="server">
<script type="text/javascript">
function Imagesrc() {
    document.getElementById("image").src = document.all.FileUpload1.value;
}
</script>
</head>
<body>
<form id="form1" runat="server">
<div>
    <img id="image" style="height:50px;width:50px" />
    <asp:FileUpload ID="FileUpload1" runat="server" onchange="Imagesrc()" />
    <br />
    <asp:Button ID="btnPost" runat="server" Text="上傳" OnClick="btnPost_Click" />
</div>
</form>
</body>

// 後台保存
protected void btnPost_Click(object sender, EventArgs e)
{
    string saveDir = Server.MapPath("Image");
    if (FileUpload1.HasFile)
        FileUpload1.SaveAs(Path.Combine(saveDir, FileUpload1.FileName));
}

現代替代方案

請參考 文章 53726 的 HTML5 File API 方案,兼容所有現代瀏覽器,安全且標準。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved