解决方案 »

  1.   

    浏览器不支持本地预览,可以用flash或者sliverlight实现,html5可以用js先上传缩略图。
      

  2.   

    使用FileUpload上传并预览示例
    //aspx页面设置
     <asp:Label ID="Label3" runat="server" Font-Size="9pt" Text="选择图片"></asp:Label>//选择图片
     <asp:FileUpload ID="FileUpload1" runat="server" Font-Size="9pt" />//上传图片
     <asp:Button ID="Button1" runat="server" Font-Size="9pt" OnClick="Button1_Click" Text="确定"
                                        Width="80px" />//上传图片事件按钮
     <asp:Label ID="Label2" runat="server" Font-Bold="True" Font-Size="9pt" ForeColor="Red"
                                        Text="*只允许上传.bmp/.jpg/.gif类型的图片!" Width="243px"></asp:Label>
     <asp:Label ID="Label1" runat="server" Font-Bold="True" Font-Size="9pt" ForeColor="Red"></asp:Label>
     <asp:Image ID="Image1" runat="server" />//显示图片
    //aspx.cs页面设置
     protected void Button1_Click(object sender, EventArgs e)
        {
            if (FileUpload1.PostedFile.FileName == "")
            {
                Label1.Text = "您还没有选择图片!";
                return;
            }
            else
            {
                string filepath = FileUpload1.PostedFile.FileName;
                string filename=filepath.Substring(filepath.LastIndexOf("\\")+1);
                string fileEx = filepath.Substring(filepath.LastIndexOf(".") + 1);
                string serverpath = Server.MapPath("File/") + filename;
                if (fileEx == "jpg" || fileEx == "bmp" || fileEx == "gif")
                {
                    FileUpload1.PostedFile.SaveAs(serverpath);
                    Image1.ImageUrl = "File/" + filename;
                    Label1.Text = "上传成功!";
                }//codego.net/tags/11/1/
                else
                {
                    Label1.Text = "上传的图片扩展名错误!";
                }
            }
            
        }