代码部分:<Script language="VB" runat="Server">
 Sub UpFile(FC as System.Web.UI.HtmlControls.HtmlInputFile,IC as System.Web.UI.WebControls.Image)
lblerr.Text = ""
If FC.Value <> "" Then
Dim aa As String = File1.Value
Dim ai As Integer = aa.ToString.LastIndexOf("\") + 1
aa = Right(aa, (aa.Length - ai))
If Dir(Server.MapPath("../"  & "pic/" & aa)) = "" Then '没有同名文件
If FC.PostedFile.ContentLength <= 20480000 Then '上传的图片大于20KB
FC.PostedFile.SaveAs(Server.MapPath("../" & "pic/" & aa))
IC.ImageUrl = (("../" & "pic/" & aa))
Else
lblerr.Text = "Error:Source:商品图片容量大于20KB,服务器拒绝接收图片"
Return
End If
Else
lblerr.Text = "Error:Source:商品图片名称重复,请重新命名"
Return
End If
End If
End Sub
</script>
WebForm部分:
<form id="M_add_form" runat="server" >
        <asp:Image ID="m" ImageUrl="" Width="100" Height="100" AlternateText="商品图片"  runat="server" />
        <input id="File1" type="file" size="15" name="File1" runat="server">
        <asp:Button ID="bntimgFtp" runat="server" Text="点击上传图片"OnClick="UpFile(File1,m)" ></asp:Button>
        <asp:Image ID="m2" ImageUrl="" Width="100" Height="100" AlternateText="首页大图"  runat="server" />
        <input id="File2" type="file" size="15" name="File1" runat="server">
        <asp:Button ID="bntimgFtp" runat="server" Text="点击上传图片"OnClick="UpFile(File2,m2)" ></asp:Button>
..........省略(三个类似的上传).............................
说明:我有一个页面需要上传五副图片,并直接预览出来!由于五个上传操作基本上相同(只是两个控件名称不同),所以我在代码部分写了函数,想通过改变控件名称,来实现五个上传...
请各位高手,大侠,大哥,前辈们千万不吝赐教!!因为您的哪怕一个小的点拔都会让我们拨云见日,万分感谢...希望大家一起研究...谢谢关注..静候佳音...

解决方案 »

  1.   

    我试了,不能...希望大家能够帮助......我怎么感觉CSDN的人越来越冷酷了...每次来这里我都先回答别人的问题,只要是我会的,我见到过的,我都想办法,找资料回复...可是我的问题怎么....!!伤心...
      

  2.   

    一般都是这样来取不同的上传文件:
    HttpPostedFile PostedFile = Request.Files[uploadIndex]; 
    如果有5个,uploadIndex分别取值:0,1,2,3,4,至于和界面上传控件的对应关系,试试就可找到规律
      

  3.   

    upload.aspx''''''''''''''''''''''''''''''''''
    <form id="Form1" method="post" encType="multipart/form-data" runat="server">
    <INPUT id="File1" type="file" name="File1" runat="server"><BR>
    <INPUT id="File2" type="file" name="File1" runat="server"><BR>
    <INPUT id="File3" type="file" name="File1" runat="server"><BR>
    <INPUT id="File4" type="file" name="File1" runat="server"><BR>
    <INPUT id="File5" type="file" name="File1" runat="server"><BR>
    <BR>
    <asp:button id="Button1" runat="server" Text="图片上传"></asp:button>
    </form>
    ''''''''''''''''''''''''''''''''upload.aspx.vb
    ''''''''''''''''''''''''''''''''''''''''
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
            '遍历File表单元素
            Dim files As System.Web.HttpFileCollection = Request.Files
            '状态信息
            Dim loop1 As System.Int16
            For loop1 = 0 To files.Count - 1
                '检查文件扩展名字
                Dim postedFile As System.Web.HttpPostedFile = files(loop1)
                Dim fileName, fileExtension, FileLength, FileSpec As System.String
                fileName = System.IO.Path.GetFileName(postedFile.FileName)
                fileExtension = System.IO.Path.GetExtension(fileName)
                FileLength = postedFile.ContentLength            If Not (fileName = String.Empty) Then
                    If FileLength > 2000000 Then
                        Response.Write("<script language=javascript>window.alert('附件大小不能超过2M!')</script>")
                        Exit Sub
                    End If
                    If InStr(postedFile.ContentType.ToString(), "image/pjpeg") = 0 Then
                        Response.Write("<script language=javascript>window.alert('只能上传.jpg格式的图片文件!')</script>")
                        Exit Sub
                    End If
                    '更改文件名
                    Dim Vchar As String = "0,1,2,3,4,5,6,7,8,9"
                    Dim VcArray() As String = Split(Vchar, ",") '将字符串生成数组
                    Dim VNum As String = ""
                    Dim i As Byte
                    For i = 1 To 4
                        Randomize()
                        VNum = VNum & VcArray(Int(10 * Rnd()))
                    Next
                    fileName = System.DateTime.Now.ToString("yyyyMMddHHmm") + VNum + fileExtension
                    '判断目录是否存在,不存在就建立
                    Dim lstrFileFolder As String = Server.MapPath("uphoto/") + "/big/"
                    Dim lstrFileFolderlit As String = Server.MapPath("uphoto/") + "/lit/"
                    If (Not Directory.Exists(lstrFileFolderlit)) Then
                        Directory.CreateDirectory(lstrFileFolderlit)
                    End If
                    If (Not Directory.Exists(lstrFileFolder)) Then
                        Directory.CreateDirectory(lstrFileFolder)
                    End If
                    '保存文件
                    Dim lstrFileNamePath As String = lstrFileFolder & fileName
                    Dim lstrFileNamePathlit As String = lstrFileFolderlit & fileName
                    postedFile.SaveAs(lstrFileNamePath)
                    '建立微略图
                    Dim imgp As System.Drawing.Image
                    Dim callb As System.Drawing.Image.GetThumbnailImageAbort
                    imgp = System.Drawing.Image.FromStream(postedFile.InputStream())
                    imgp.GetThumbnailImage(100, 75, callb, New System.IntPtr).Save(lstrFileNamePathlit)
                    imgp = Nothing
                    '保存上传图片信息
    '''''''''''''''''''''''''''''''
                End If
            Next loop1
            ''''''''''''''''''''''
        End Sub'''''''''''''''''''''''''''''''''''''5个文件同时上传。运行没问题,直接预览图片没做过,应该用JS可以搞定