C# 使用fileupload预览图像

C# 使用fileupload预览图像,c#,asp.net,C#,Asp.net,我想预览我在同一页上使用FileUpload拍摄的3张图片。我还必须在每3张图片中显示3张缩略图。但问题是它会显示前9张图片,即3*3。我为它创建了图像文件夹。下面是我运行的代码: 字符串文件,thumbPath file = FileUpload1.PostedFile.FileName; thumbPath = ("~/images" + "/" + file); FileUpload1.SaveAs(Server.MapPath("images/") + file)

我想预览我在同一页上使用FileUpload拍摄的3张图片。我还必须在每3张图片中显示3张缩略图。但问题是它会显示前9张图片,即3*3。我为它创建了图像文件夹。下面是我运行的代码: 字符串文件,thumbPath

    file = FileUpload1.PostedFile.FileName;
    thumbPath = ("~/images" + "/" + file);
    FileUpload1.SaveAs(Server.MapPath("images/") + file);
    Image1.ImageUrl = thumbPath;
    Image2.ImageUrl = thumbPath;
    Image3.ImageUrl = thumbPath;

    file = FileUpload2.PostedFile.FileName;
    thumbPath = ("~/images" + "/" + file);
    FileUpload1.SaveAs(Server.MapPath("images/") + file);
    Image4.ImageUrl = thumbPath;
    Image5.ImageUrl = thumbPath;
    Image6.ImageUrl = thumbPath;

    file = FileUpload3.PostedFile.FileName;
    thumbPath = ("~/images" + "/" + file);
    FileUpload1.SaveAs(Server.MapPath("images/") + file);
    Image7.ImageUrl = thumbPath;
    Image8.ImageUrl = thumbPath;
    Image9.ImageUrl = thumbPath;

你似乎每次都在保存第一张图片,所以你到处都能看到这张图片是有道理的。这一行在代码中出现3次:

FileUpload1.SaveAs(Server.MapPath("images/") + file);
您可能希望更改
FileUpload1
,以便在代码的第二和第三部分中也使用
FileUpload2
FileUpload3

FileUpload1.SaveAs(Server.MapPath("images/") + file);
// do something
FileUpload2.SaveAs(Server.MapPath("images/") + file);
// do something
FileUpload3.SaveAs(Server.MapPath("images/") + file);
// do something

此外,如果用户选择上载多个同名文件,您可能会覆盖其中一些文件。您可能应该使用一些唯一的文件名(可能是windows临时文件)。不要使用用户上载的文件名,或者至少不要将其用于此特定任务。

这行代码中存在问题

       FileUpload1.SaveAs(Server.MapPath("images/") + file);
试试这个

       string  file = FileUpload1.PostedFile.FileName;
       string thumbPath = ("~/images" + "/" + file);            
       FileUpload1.SaveAs(Server.MapPath("~/images/"+ file) );
       Image1.ImageUrl = thumbPath;

对于单个图像,请尝试以下代码。您也可以对多个图像进行更改:

<html xmlns="http://www.w3.org/1999/xhtml">

<head runat="server">

    <title>Untitled Page</title>

    <style type="text/css">

        #newPreview 
        { 
            filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);

        } 
    </style> 


    <script language="javascript" type="text/javascript">

    function PreviewImg(imgFile) 
    { 
        var newPreview = document.getElementById("newPreview"); 
        newPreview.filters.item("DXImageTransform.Microsoft.AlphaImageLoader").src = imgFile.value;

        newPreview.style.width = "80px"; 
        newPreview.style.height = "60px"; 
    } 
    </script> 
</head> 
<body> 
    <form id="form1" runat="server">

    <div> 
        preview 
        <asp:FileUpload ID="Fud_Pic" runat="server"
 onchange="PreviewImg(this)" />

        <div id="newPreview">

        </div> 
    </div> 
    </form> 
</body> 
</html>

无标题页
#新预览
{ 
过滤器:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale);
} 
函数预览(imgFile)
{ 
var newPreview=document.getElementById(“newPreview”);
newPreview.filters.item(“DXImageTransform.Microsoft.AlphaImageLoader”).src=imgFile.value;
newPreview.style.width=“80px”;
newPreview.style.height=“60px”;
} 
预览