解決:上傳文件按鈕樣式,fileupload 樣式,同時解決後臺得不到上傳文件的信息問題

//前臺代碼<style>.green_btn{
 background-color:#79a500;
 }</style> <form runat="server" id="form1"></form><input id="txtUploadfile" type="text" /><asp:FileUpload ID="uploadfile" runat="server" Style="filter: alpha(opacity=0); width: 70px;
cursor: hand; position: absolute; height: auto;" οnchange="setValue()" />
<input type="button" id="SearchFile" value="Browse.." class="green_btn" style="width: 70px;" />
<asp:Button ID="btnSearch" runat="server" Text="upload" CssClass="green_btn" OnClick="btnSearch_Click" />
<script type="text/javascript" language="javascript">//得到文件的路徑,解析出fakepath路徑的原始值
    function getPath(obj) {
        if (obj) {
            if (window.navigator.userAgent.indexOf("MSIE") >= 1) {
                obj.select();
                return document.selection.createRange().text;
            } else if (window.navigator.userAgent.indexOf("Firefox") >= 1) {
                if (obj.files) {
                    return obj.files.item(0).getAsDataURL();
                }
                return obj.value;
            }
            return obj.value;
        }
    }//將上傳文件的文本框值賦給txtUploadfile    function setValue() {
        document.getElementById("txtUploadfile").value = getPath(document.getElementById("uploadfile"));
    }
        
</script>            


 
protected void btnSearch_Click(object sender, EventArgs e) { try {

//將高度設置爲0,保證在後臺處理這段時間,前臺的上傳按鈕樣式不會出來     
            uploadfile.Style.Value = "filter: alpha(opacity=0); width: 70px;cursor: hand; position:absolute; height:0px; vertical-align:top;-moz-focus-inner:border:none;";

            Stream fs = uploadfile.PostedFile.InputStream;
            int DataLen = uploadfile.PostedFile.ContentLength;
            string Type = uploadfile.PostedFile.ContentType;
            string filename = Path.GetFileName(uploadfile.PostedFile.FileName);
            string filetype = Path.GetExtension(uploadfile.PostedFile.FileName);

            byte[] Data = new byte[DataLen];
            fs.Read(Data, 0, DataLen);

            fs.Close();
        }
        catch (Exception ex)
        {
            string message = ex.Message;
            ScriptManager.RegisterStartupScript(this.Page, this.GetType(), "", "<script language='javascript'>alert('" + message + "')</script>", false);
        }
    }

 public void Page_PreRender(object sender, EventArgs e)
    {//這裏恢復按鈕的高度,顯示出來
        uploadfile.Style.Value = @"filter: alpha(opacity=0); width: 70px;cursor: hand; position:absolute; 
        height:20px; vertical-align:top;-moz-focus-inner:border:none; ";
    }

 

 



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章