[习题]FileUpload 批次上传 / 多档案同时上传,上传成功后展示图片 (VB语法)
2010-12-28 17:48
591 查看
原文出处:[习题]FileUpload 批次上传 / 多档案同时上传,上传成功后展示图片 (VB语法)
http://www.dotblogs.com.tw/mis2000lab/archive/2010/12/01/fileupload_show_image_20101201.aspx
[习题]FileUpload控件「批次上传 / 多档案同时上传」,上传成功后展示图片 (VB语法)
有人在论坛上发问:
「档案透过 FileUpload控件上传成功之后,如何 "立即" 呈现在画面上呢?」
这很简单,请参阅以前的范例:
VB语法:FileUpload控件「批次上传 / 多档案同时上传」的范例 (VB语法)
C#语法:[C#]FileUpload控件「批次上传 / 多档案同时上传」的范例
沿用上面的范例,继续作下去即可。
ASP.NET案例精编——适用于VS 2005/2008(配光盘)
(1). 在 HTML画面的最下方,添加几个 Image控件。
<p> <!-- 以上相同的部分省略,请沿用上面的范例即可 -->
<asp:LabelID="Label1" runat="server" ForeColor="#FF3300"></asp:Label><br/>
<asp:LabelID="Label2" runat="server"ForeColor="darkblue"></asp:Label>
<hr />
<span class="style3"><spanclass="style2">上传之后,立即呈现图片!<br />
<br />
</span></span>
<br />
<asp:Image ID="Image1"runat="server" Visible="False"/> <asp:Image ID="Image2"runat="server" Visible="False"/> <asp:Image ID="Image3"runat="server" Visible="False" /><br /><br/> <asp:Image ID="Image4"runat="server" Visible="False"/> <asp:Image ID="Image5"runat="server" Visible="False" />
</p>
把每一个 Image控件设定为 .Visible = False,让它隐形起来(看不见)
(2). 后置程序代码(VB)的范例里面,
我们在For...Next循环里面,加上这几列程序代码即可。很简单。
Protected Sub Button1_Click(ByVal senderAs Object, ByVal e As System.EventArgs) Handles Button1.Click
'--批注:网站上的目录路径。所以不写磁盘名称(不写 “实体”路径)。
'--以下的路径,请依照实际状况,进行修改。否则程序会报错!
Dim saveDir As String ="VS2010_Book_Sample\[Book]FileUpload\Uploads\"
Dim appPath As String =Request.PhysicalApplicationPath
Dim tempfileName As String =Nothing
Dim myLabel As NewSystem.Text.StringBuilder
Dim i As Integer
For i = 1 To (Request.Files.Count)
Dim myFL As New FileUpload
myFL =CType(Page.Form.FindControl("FileUpload" & i), FileUpload)
DimmyImg As New Image
myImg= CType(Page.Form.FindControl("Image" & i), Image)
If(myFL.HasFile) Then
Dim fileName As String = myFL.FileName
Dim pathToCheck As String = appPath & saveDir & fileName
'========================================(Start)
If (System.IO.File.Exists(pathToCheck)) Then
'=========================
'==省略,跟上面的范例程序一模一样。
'=========================
End If
' –完成档案上传的动作。
Dim savePath As String = appPath & saveDir & fileName
myFL.SaveAs(savePath)
'========================================(End)
myLabel.Append("<hr>檔名---- " & fileName)
'*******************************************************
'*** 上传后,立即展示图片 *************************
myImg.Visible = True
'--以下的路径,请依照实际状况,进行修改。否则程序会报错!
myImg.ImageUrl = "http://localhost:8080/WebSite1/这里是你上传档案的路径,请自行修改/" & fileName
'*******************************************************
EndIf
Next
Label2.Text = "上传成功" & myLabel.ToString
End Sub
=================================================================================
这个范例最有趣的地方,就是我用循环,
自动产生变量名称,例如: FileUpload1、FileUpload2、FileUpload3......等等。
或是 Image1、Image2、Image3......等等。
(请看上面红字的部分)
这种作法从以前ASP / JSP / PHP都可以用,一直到ASP.NET都可以继续这样玩下去。
我看见很多高手都会这招(常在程序代码里面有见过这种技巧),但好像没人想公开出来
(依照我的教学经验来看,对初学者来说,你讲了他们也「暂时」听不懂。)
=================================================================================
如果不使用上面的两种技巧,初学者也可以乖乖地用五个if判别式来作(以下是C#语法)
(一个FileUpload控件,就作一次,程序代码不断COPY修改即可)。
只要程序能顺利执行,而且您又是刚刚入门的初学者......没人敢说这样做不好。以下是范例:
if (FileUpload1.HasFile)
{
string fileName =FileUpload1.FileName;
//……内容与上面范例相同,在此省略……
FileUpload1.SaveAs(savePath);
myLabel.Append("<br>檔名---- " + fileName);
}
if (FileUpload2.HasFile)
{
string fileName =FileUpload2.FileName;
//……省 略……
FileUpload2.SaveAs(savePath);
}
if (FileUpload3.HasFile)
{
string fileName =FileUpload3.FileName;
//……省 略……
FileUpload3.SaveAs(savePath);
}
//……以此类推…… 这种Copy / Paste的作法很累吧~
学生(初学者)还在学习中,所以写出上面的程序,我不会责怪他,毕竟能正确执行更重要。
但如果进入业界,还用这种Copy / Paste的方法来写程序,可能会被前辈「念」一顿
您可以参阅这篇文章([回忆].....一些感慨 #2.....什么样的程序?什么样的写法?对初学者有帮助),我有作了解释。
在我的书本里面,有数个范例都用上这个技巧。
例 如:
上集的「FileUpload」多重档案批次上传、网络聊天室,介绍 Application与Session的最佳案例(用来解说Application与 Session的应用)
下集也有「自动化投票区」使用了相同的技巧。
希望对您有帮助。
http://www.dotblogs.com.tw/mis2000lab/archive/2010/12/01/fileupload_show_image_20101201.aspx
[习题]FileUpload控件「批次上传 / 多档案同时上传」,上传成功后展示图片 (VB语法)
有人在论坛上发问:
「档案透过 FileUpload控件上传成功之后,如何 "立即" 呈现在画面上呢?」
这很简单,请参阅以前的范例:
VB语法:FileUpload控件「批次上传 / 多档案同时上传」的范例 (VB语法)
C#语法:[C#]FileUpload控件「批次上传 / 多档案同时上传」的范例
沿用上面的范例,继续作下去即可。
ASP.NET案例精编——适用于VS 2005/2008(配光盘)
(1). 在 HTML画面的最下方,添加几个 Image控件。
<p> <!-- 以上相同的部分省略,请沿用上面的范例即可 -->
<asp:LabelID="Label1" runat="server" ForeColor="#FF3300"></asp:Label><br/>
<asp:LabelID="Label2" runat="server"ForeColor="darkblue"></asp:Label>
<hr />
<span class="style3"><spanclass="style2">上传之后,立即呈现图片!<br />
<br />
</span></span>
<br />
<asp:Image ID="Image1"runat="server" Visible="False"/> <asp:Image ID="Image2"runat="server" Visible="False"/> <asp:Image ID="Image3"runat="server" Visible="False" /><br /><br/> <asp:Image ID="Image4"runat="server" Visible="False"/> <asp:Image ID="Image5"runat="server" Visible="False" />
</p>
把每一个 Image控件设定为 .Visible = False,让它隐形起来(看不见)
(2). 后置程序代码(VB)的范例里面,
我们在For...Next循环里面,加上这几列程序代码即可。很简单。
Protected Sub Button1_Click(ByVal senderAs Object, ByVal e As System.EventArgs) Handles Button1.Click
'--批注:网站上的目录路径。所以不写磁盘名称(不写 “实体”路径)。
'--以下的路径,请依照实际状况,进行修改。否则程序会报错!
Dim saveDir As String ="VS2010_Book_Sample\[Book]FileUpload\Uploads\"
Dim appPath As String =Request.PhysicalApplicationPath
Dim tempfileName As String =Nothing
Dim myLabel As NewSystem.Text.StringBuilder
Dim i As Integer
For i = 1 To (Request.Files.Count)
Dim myFL As New FileUpload
myFL =CType(Page.Form.FindControl("FileUpload" & i), FileUpload)
DimmyImg As New Image
myImg= CType(Page.Form.FindControl("Image" & i), Image)
If(myFL.HasFile) Then
Dim fileName As String = myFL.FileName
Dim pathToCheck As String = appPath & saveDir & fileName
'========================================(Start)
If (System.IO.File.Exists(pathToCheck)) Then
'=========================
'==省略,跟上面的范例程序一模一样。
'=========================
End If
' –完成档案上传的动作。
Dim savePath As String = appPath & saveDir & fileName
myFL.SaveAs(savePath)
'========================================(End)
myLabel.Append("<hr>檔名---- " & fileName)
'*******************************************************
'*** 上传后,立即展示图片 *************************
myImg.Visible = True
'--以下的路径,请依照实际状况,进行修改。否则程序会报错!
myImg.ImageUrl = "http://localhost:8080/WebSite1/这里是你上传档案的路径,请自行修改/" & fileName
'*******************************************************
EndIf
Next
Label2.Text = "上传成功" & myLabel.ToString
End Sub
=================================================================================
这个范例最有趣的地方,就是我用循环,
自动产生变量名称,例如: FileUpload1、FileUpload2、FileUpload3......等等。
或是 Image1、Image2、Image3......等等。
(请看上面红字的部分)
这种作法从以前ASP / JSP / PHP都可以用,一直到ASP.NET都可以继续这样玩下去。
我看见很多高手都会这招(常在程序代码里面有见过这种技巧),但好像没人想公开出来
(依照我的教学经验来看,对初学者来说,你讲了他们也「暂时」听不懂。)
=================================================================================
如果不使用上面的两种技巧,初学者也可以乖乖地用五个if判别式来作(以下是C#语法)
(一个FileUpload控件,就作一次,程序代码不断COPY修改即可)。
只要程序能顺利执行,而且您又是刚刚入门的初学者......没人敢说这样做不好。以下是范例:
if (FileUpload1.HasFile)
{
string fileName =FileUpload1.FileName;
//……内容与上面范例相同,在此省略……
FileUpload1.SaveAs(savePath);
myLabel.Append("<br>檔名---- " + fileName);
}
if (FileUpload2.HasFile)
{
string fileName =FileUpload2.FileName;
//……省 略……
FileUpload2.SaveAs(savePath);
}
if (FileUpload3.HasFile)
{
string fileName =FileUpload3.FileName;
//……省 略……
FileUpload3.SaveAs(savePath);
}
//……以此类推…… 这种Copy / Paste的作法很累吧~
学生(初学者)还在学习中,所以写出上面的程序,我不会责怪他,毕竟能正确执行更重要。
但如果进入业界,还用这种Copy / Paste的方法来写程序,可能会被前辈「念」一顿
您可以参阅这篇文章([回忆].....一些感慨 #2.....什么样的程序?什么样的写法?对初学者有帮助),我有作了解释。
在我的书本里面,有数个范例都用上这个技巧。
例 如:
上集的「FileUpload」多重档案批次上传、网络聊天室,介绍 Application与Session的最佳案例(用来解说Application与 Session的应用)
下集也有「自动化投票区」使用了相同的技巧。
希望对您有帮助。
相关文章推荐
- [VB][ASP.NET]FileUpload控件「批次上传 / 多档案同时上传」的范例
- FileUpload控件「批次上传 / 多档案同时上传」的范例--以「流水号」产生「变量名称」
- 利用ajaxFileupload实现表单和图片同时上传
- vue.js上传图片时同时加载图片展示图片
- [VB / ASP.NET] FileUpload控件,档案上传
- 详解vb.net实现图片以二进制形式上传和读取到数据库
- apache FileUpload 上传图片
- FileUpLoad上传图片
- asp.net上传图片并同时生成缩略图
- SpringMVC+mybatis实现图片文本同时上传并储存数据库中
- CodeIgniter上传图片成功的全部过程分享
- 牛腩购物18 : 添加商品页面2 。泛型List<T>的使用,linq 的使用, 如何在 DropDownList 里面绑定二级分类(运用linq),fileupload和图片控件的配合使用用来上传图片,try catch
- 利用Common-Fileupload上传文件图片
- ASP.NET利用.FileUpload上传图片并将图片名称保存到数据库
- CI 同时上传多个图片
- 使用FileUpload控件上传图片并自动生成缩略图
- asp.net在ie7中使用FileUpload上传前预览图片
- 使用FileUpload控件上传图片并自动生成缩略图、自动生成带文字和图片的水印图
- 基于asp.net + easyui框架,js实现上传图片之前判断图片格式,同时实现预览,兼容各种浏览器+下载
- 关于C#服务器控件FileUpload上传图片并保存到数据库