代码部分:<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>
..........省略(三个类似的上传).............................
说明:我有一个页面需要上传五副图片,并直接预览出来!由于五个上传操作基本上相同(只是两个控件名称不同),所以我在代码部分写了函数,想通过改变控件名称,来实现五个上传...
请各位高手,大侠,大哥,前辈们千万不吝赐教!!因为您的哪怕一个小的点拔都会让我们拨云见日,万分感谢...希望大家一起研究...谢谢关注..静候佳音...
解决方案 »
- asp.net datatable导出excel格式问题
- 如何通过后台向ListBox中添加自定义的项?
- 网站本地测试完好,上传服务器后访问部分页面无法显示,是什么问题呢?
- 支付宝第三方代扣
- 如何吧密码进行MD5或MD4加密后存进SQL里 然后登录时如何进行解决 谢谢
- 关于AspNetPager生成的垃圾代码
- 关于DataGrid不刷新绑定的问题!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
- 请问如何让后台知道用户已经重复输入密码多少遍了,谢谢
- Parallel.ForEach并行运行时数据会遗漏
- 网页用360 打开有问题 IE 没事请指教
- 是我的问题还是主机供应商的问题?aspx文件出错!!没有程序的也这样
- 想做一个留言本,Html标签过滤问题
HttpPostedFile PostedFile = Request.Files[uploadIndex];
如果有5个,uploadIndex分别取值:0,1,2,3,4,至于和界面上传控件的对应关系,试试就可找到规律
<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可以搞定