form自动上传文件
Ⅰ asp 提交表单和上传文件
asp.net和asp上传方式基本相似。都需要使用到form表单。下面分别介绍asp和asp.net两种文件上传方式。
第一种:asp方式
首先建立form表单
<form name="form1" method="post" action="send.asp"enctype="multipart/form-data">
<input name="title" type="text"/>
<input name="uploadimg" type="file" />
<input name="submit" type="submit" value="提交"/>
</form>
asp的表单一定要注意加上enctype="multipart/form-data"这个属性,否则是上传不了图片的,这个属性很关键。
上传处理代码也就是send.asp的处理代码。
因为asp本身没有上传的组件或控件,这里只能借助第三方式的组件或类。上传组件推荐使用aspJpeg组件,这个组件不仅可以上传文件,如果是图片的话,可以调节尺寸尺寸,创建缩略图等。很方便,目前一般的空间商都支持这个组件,另外就是使用组件上传类,像风声,无惧等,都是无组件上传。
上传代码,这里假设采用的是风声无组件上传类。类文件已经包含进去。
<include file="uploadclass.asp"-->
处理代码:
先初始化上传类
dim myrequest
set myrequest = new UpLoadClass
设置属性:
myrequest.FileType="gif,jpeg,jpg,png" //设置上传类型
myrequest.SavePath="../upload/" //设置上传路径
myrequest.MaxSize=100*1024 //设置上传文件的大小,
myrequest.AutoSave=1 //设置保存方式,为1表示自动保存
myrequest.Open //打开文件流
title =myrequest.form("title")
img =myrequest.form("uploadimg") //这两部表示接收form表单中的数据。不 能再用request.form或request.querystring来接收了,必须用刚才初始化的对象
myrequest来接收。
现在数据接收到了,剩下的就是保存到数据库。这和常用的数据保存方式一下的,拼接SQL.然后再执行,这里不赘述。
第二种asp.net方式。
asp.net方式,因为采用的是服务器控件,所以与asp有点区别。
首先是form不同,asp.net的form是服务器控件,需要添加ID和runat="Server"如
<form name="form1" ID="form1" runat="Server">
<asp:FileUpload ID="FileUpload1"runat="server" />
<asp:Button ID="Button1" runat="server" OnClick="Button1_Click" Text="上传" /></form>
处理代码,上传并保存代码
protectedvoidButton1_Click(objectsender, EventArgs e)
{
StringsavePath = Server.MapPath("upload");
if(FileUpload1.HasFile)
{
Stringfilename;
filename = FileUpload1.FileName;
savePath +=filename;
FileUpload1.SaveAs(savePath);
Page.Response.Write(FileUpload1.PostedFile.ContentType + FileUpload1.PostedFile.ContentLength+"<br>");
Page.Response.Write("<img src='"+savePath+"'>");}
else
{
Page.Response.Write("fff");
}
}
asp提交和上传文件,与asp.net是不同的。一个是html标签,一个是服务器控件。相对来说,asp.net的文件上传比asp简单很多,因为asp.net提供了相对应的上传控件。而asp没有。只有采用第三方组件或无组件上传类。上传文件成功后,另外还可以加入更多的处理元素,如图片入库,加上水印等,这需要你自己去思考和查找资料了。
Ⅱ 使用jquery.form.js实现文件上传及进度条前端代码
ajax的表单提交只能提交data数据到后台,没法实现file文件的上传还有展示进度功能,这里用到form.js的插件来实现,搭配css样式简单易上手,而且高大上,推荐使用。
需要解释下我的结构, #upload-input-file 的input标签是真实的文件上传按钮,包裹form标签后可以实现上传功能, #upload-input-btn 的button标签是展示给用户的按钮,因为需要样式的美化。上传完成生成的文件名将会显示在 .upload-file-result 里面, .progress 是进度条的位置,先让他隐藏加上 hidden 的class, .progress-bar 是进度条的主体, .progress-bar-status 是进度条的文本提醒。
去掉hidden的class,看到的效果是这样的
[图片上传失败...(image-2c700a-1548557865446)]
将上传事件绑定在file的input里面,绑定方式就随意了。
var progress = $(".progress-bar"), status = $(".progress-bar-status"), percentVal = '0%'; //上传步骤 $("#myupload").ajaxSubmit({ url: uploadUrl, type: "POST", dataType: 'json', beforeSend: function () { $(".progress").removeClass("hidden"); progress.width(percentVal); status.html(percentVal); }, uploadProgress: function (event, position, total, percentComplete) { percentVal = percentComplete + '%'; progress.width(percentVal); status.html(percentVal); console.log(percentVal, position, total); }, success: function (result) { percentVal = '100%'; progress.width(percentVal); status.html(percentVal); //获取上传文件信息 uploadFileResult.push(result); // console.log(uploadFileResult); $(".upload-file-result").html(result.name); $("#upload-input-file").val(''); }, error: function (XMLHttpRequest, textStatus, errorThrown) { console.log(errorThrown); $(".upload-file-result").empty(); } });
[图片上传失败...(image-3d6ae0-1548557865446)]
[图片上传失败...(image-9f0adf-1548557865446)]
更多用法可以 参考官网
Ⅲ 怎么在form里分别上传多个文件,如图
可以用iframe上传,orm表单的method、 enctype属性必须和下面代码一样。然后将target的值设为iframe的name,这样就可以实现无刷新上传文件。
<form action="uploadfile.php" enctype="multipart/form-data" method="post" target="iframeUpload">
<iframe name="iframeUpload" src="" width="350" height="35" frameborder=0 SCROLLING="no" style="display:NONE"></iframe>
<input id="test_file" name="test_file" type="file">
<input value="上传文件" type="submit">
</form>
Ⅳ 如何不用submit提交上传文件form
document.forms["form1"].submit();
Ⅳ 如何实现C#文件自动上传
在Web编程中,我们常需要把一些本地文件上传到Web服务器上,上传后,用户可以通过浏览器方便地浏览这些文件,应用十分广泛。
首先,在你的VisualC#webproject中增加一个上传用的WebForm,为了要上传文件,需要在ToolBox中选择HTML类的FileField控件,将此控件加入到WebForm中,然而此时该控件还不是服务端控件,我们需要为它加上如下一段代码:<inputid=uploadfile1type=filesize=49runat=server>,这样它就成为服务端控件了,如果需要同时上传数个文件时,我们可以相应增加此控件。
需要注意的是代码中一定要把<form>的属性设置成为:
<formmethod=postencType=multipart/form-datarunat=server>
如果没有这个属性,就不能实现上传。
然后在此WebForm中增加一个WebForm类的Button,双击Button添加如下代码:
//上传图片的程序段
DateTimenow=DateTime.Now;
//取现在时间到DataTime类的对象now中
stringstrBaseLocation=D:\\web\\FC\\pic\\;
//这是文件将上传到的服务器的绝对目录
if(uploadfile1.PostedFile.ContentLength!=0)//判断选取对话框选取的文件长度是否为0
{uploadfile1.PostedFile.SaveAs(strBaseLocation+now.DayOfYear.ToString()+uploadfile1.PostedFile.ContentLength.ToString()+.jpg);
//执行上传,并自动根据日期和文件大小不同为文件命名,确保不重复
Label1.Text=图片1已经上传,文件名为:+now.DayOfYear.ToString()+uploadfile1.PostedFile.ContentLength.ToString()+.jpg;
navigator.Insert(System.Xml.TreePosition.After,XmlNodeType.Element,pic1,,);
navigator.Insert(System.Xml.TreePosition.FirstChild,XmlNodeType.Text,pic1,,);
navigator.Value=now.DayOfYear.ToString()+uploadfile1.PostedFile.ContentLength.ToString()+.jpg;
navigator.MoveToParent();}
上面的代码用于笔者开发的一个使用XML文件存储新闻信息的系统中,后面几句代码作用是写上传文件信息到XML文件中。如果要上传其他类型文件,只需要将jpg改为相应类型的后缀名即可,如改为doc即可上传Word文件,浏览器即可直接浏览上传的Word文件。
【注意事项】
1.上传文件不可以无限大;
2.要注意IIS的安全性方面的配合;
3.用VisualStudio的安装项目做安装程序的时候,请注意安装程序所在的绝对路径问题;
4.注意文件上传后的重名问题。