一次同時(shí)上傳多個(gè)文件
2024-07-21 02:16:51
供稿:網(wǎng)友
下面我將為大家講解如何同時(shí)上傳多個(gè)文件
我們在頁面中添加5個(gè)<input type=file>上傳的類型只限定在.gif和.jpg兩種,并根據(jù)不同的類型放入不同的文件夾中。
我先給出upload.aspx源代碼
<!doctype html public "-//w3c//dtd html 4.0 transitional//en" > <html>
<head>
<title>::: upload sample ::: </title>
</head>
<body>
<center>
<form id="upload" method="post" runat="server" enctype="multipart/form-data">
<h3>multiple file upload example</h3>
<p>
<input type="file" runat="server" size="50" id="file1" name="file1"></p>
<p>
<input type="file" runat="server" size="50" id="file2" name="file2"></p>
<p>
<input type="file" runat="server" size="50" id="file3" name="file3"></p>
<p>
<input type="file" runat="server" size="50" id="file4" name="file4"></p>
<p>
<input type="file" runat="server" size="50" id="file5" name="file5"></p>
<p><strong>:: </strong>
<asp:linkbutton id="linkbutton1" runat="server" font-names="verdana" font-bold="true" font-size="xx-small">upload images</asp:linkbutton> <strong>::
</strong> <a href="javascript:document.forms[0].reset()" id="linkbutton2" style="font-weight:bold;font-size:xx-small;font-family:verdana">
reset form</a> <strong>::</strong></p>
<p>
<asp:label id="label1" runat="server" font-names="verdana" font-bold="true" font-size="xx-small" width="400px" borderstyle="none" bordercolor="white"></asp:label></p>
<p> </p>
</form>
</center>
</body>
</html>
update.aspx.cs 源代碼
namespace howtos.multipleimageupdate
{
public class upload : system.web.ui.page
{
#region user defined code
protected system.web.ui.webcontrols.linkbutton linkbutton1;
protected system.web.ui.webcontrols.label label1;
private void page_load(system.object sender, system.eventargs e)
{
if ( this.ispostback )
this.saveimages();
}
private system.boolean saveimages() {
//文件上傳時(shí)循環(huán)執(zhí)行
system.web.httpfilecollection _files = system.web.httpcontext.current.request.files;
//發(fā)送給瀏覽器的信息
system.text.stringbuilder _message = new system.text.stringbuilder("files uploaded:<br>");
try
{
for ( system.int32 _ifile = 0; _ifile < _files.count; _ifile ++ )
{
// 檢查上傳文件是否為gif或jpg
system.web.httppostedfile _postedfile = _files[_ifile];
system.string _filename, _fileextension;
_filename = system.io.path.getfilename(
_postedfile.filename);
_fileextension = system.io.path.getextension(
_filename);
if ( _fileextension == ".gif" )
{
//保存文件到指定文件夾
_postedfile.saveas(
system.web.httpcontext.current.request.mappath(
"gifs/") + _filename);
_message.append(_filename + "<br>");
}
else if ( _fileextension == ".jpg" )
{
//保存文件到指定文件夾
_postedfile.saveas(
system.web.httpcontext.current.request.mappath(
"jpgs/") + _filename);
_message.append(_filename + "<br>");
}
else {
_message.append(_filename + " <font color=/"red/">failed!! only .gif and .jpg images allowed!</font> <br>");
}
}
label1.text = _message.tostring();
return true;
}
catch ( system.exception ex )
{
label1.text = ex.message ;
return false;
}
}
#endregion
#region web form designer generated code
override protected void oninit(system.eventargs e)
{
//
// codegen: this call is required by the asp.net web form designer.
//
initializecomponent();
base.oninit(e);
}
/// <summary>
/// required method for designer support - do not modify
/// the contents of this method with the code editor.
/// </summary>
private void initializecomponent()
{
this.load += new system.eventhandler(this.page_load);
}
#endregion
}
}
還有vb.net代碼但是我將不做解釋
public class upload
inherits system.web.ui.page
#region " web form designer generated code "
'this call is required by the web form designer.
<system.diagnostics.debuggerstepthrough()> private sub initializecomponent()
end sub
private sub page_init(byval sender as system.object, byval e as system.eventargs) handles mybase.init
'codegen: this method call is required by the web form designer
'do not modify it using the code editor.
initializecomponent()
end sub
protected withevents linkbutton1 as system.web.ui.webcontrols.linkbutton
protected withevents file1 as system.web.ui.htmlcontrols.htmlinputfile
protected withevents file2 as system.web.ui.htmlcontrols.htmlinputfile
protected withevents file3 as system.web.ui.htmlcontrols.htmlinputfile
protected withevents file4 as system.web.ui.htmlcontrols.htmlinputfile
protected withevents file5 as system.web.ui.htmlcontrols.htmlinputfile
#end region
protected withevents label1 as system.web.ui.webcontrols.label
private sub page_load(byval sender as system.object, byval e as system.eventargs) handles mybase.load
if (me.ispostback) then me.saveimages()
end sub
private function saveimages() as system.boolean
dim _files as system.web.httpfilecollection = system.web.httpcontext.current.request.files
dim _message as new system.text.stringbuilder("files uploaded:<br>")
dim _ifile as system.int32
try
for _ifile = 0 to _files.count - 1
dim _postedfile as system.web.httppostedfile = _files(_ifile)
dim _filename, _fileextension as system.string
_filename = system.io.path.getfilename( _
_postedfile.filename)
_fileextension = system.io.path.getextension( _
_filename)
if (_fileextension = ".gif") then
_postedfile.saveas( _
system.web.httpcontext.current.request.mappath( _
"gifs/") + _filename)
_message.append(_filename + "<br>")
elseif (_fileextension = ".jpg") then
_postedfile.saveas( _
system.web.httpcontext.current.request.mappath( _
"jpgs/") + _filename)
_message.append(_filename + "<br>")
else
_message.append(_filename & " <font color=""red"">failed!! only .gif and .jpg images allowed!</font> <br>")
end if
next
label1.text = _message.tostring()
return true
catch ex as system.exception
label1.text = ex.message
return false
end try
end function
end class