【原创】C#+JS 实现动态增减图片上传框
2012-04-02 22:47
453 查看
有时候我们会在一些添加记录的时候,希望同时上传多张图片,以保存对应的记录信息来源。针对这种场景,我们可以使用 JS + C# 代码实现。
具体代码如下:
前台 Sample.aspx:
<input id="btnAdd" type="button" value="remove" onclick="javascript: removeImg()" />
<input id="btnRemove" type="button" value="add" onclick="javascript: addImg()" />
<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" />
<div>
<asp:FileUpload ID="img0" runat="server" />
</div>
<div id="imgUpload">
</div>
<script type="text/javascript">
function addImg()
{
var nodes = document.getElementById("imgUpload");
var newImgId = Math.round(nodes.childNodes.length / 2 - 0.5) + 1;
var newchild = document.createElement("input");
newchild.setAttribute("id", "img" + newImgId);
newchild.setAttribute("name","img"
+ newImgId);
newchild.setAttribute("type", "file");
nodes.appendChild(newchild);
newchild = document.createElement("br");
nodes.appendChild(newchild);
}
function removeImg()
{
var nodes
= document.getElementById("imgUpload");
if (nodes.childNodes.length
<= 1) {
alert("至少保留一个上传控件!");
//这里仅仅是为了让用户有更好的体验
} else {
for (i
= 0; i < 2; i++) {
if (nodes.lastChild)
{
nodes.removeChild(nodes.lastChild);
}
}
}
}
</script>
后台代码Sample.aspx.cs:
protected void btnSubmit_Click(object sender, EventArgs e)
{
HttpFileCollection hfc = Request.Files;
int i = 0;
foreach (string file in hfc.AllKeys)
{
i++;
HttpPostedFile f = hfc[file];
Response.Write(f.FileName);
f.SaveAs(Server.MapPath(i + ".jpg"));
}
}
具体代码如下:
前台 Sample.aspx:
<input id="btnAdd" type="button" value="remove" onclick="javascript: removeImg()" />
<input id="btnRemove" type="button" value="add" onclick="javascript: addImg()" />
<asp:Button ID="btnSubmit" runat="server" Text="Submit" OnClick="btnSubmit_Click" />
<div>
<asp:FileUpload ID="img0" runat="server" />
</div>
<div id="imgUpload">
</div>
<script type="text/javascript">
function addImg()
{
var nodes = document.getElementById("imgUpload");
var newImgId = Math.round(nodes.childNodes.length / 2 - 0.5) + 1;
var newchild = document.createElement("input");
newchild.setAttribute("id", "img" + newImgId);
newchild.setAttribute("name","img"
+ newImgId);
newchild.setAttribute("type", "file");
nodes.appendChild(newchild);
newchild = document.createElement("br");
nodes.appendChild(newchild);
}
function removeImg()
{
var nodes
= document.getElementById("imgUpload");
if (nodes.childNodes.length
<= 1) {
alert("至少保留一个上传控件!");
//这里仅仅是为了让用户有更好的体验
} else {
for (i
= 0; i < 2; i++) {
if (nodes.lastChild)
{
nodes.removeChild(nodes.lastChild);
}
}
}
}
</script>
后台代码Sample.aspx.cs:
protected void btnSubmit_Click(object sender, EventArgs e)
{
HttpFileCollection hfc = Request.Files;
int i = 0;
foreach (string file in hfc.AllKeys)
{
i++;
HttpPostedFile f = hfc[file];
Response.Write(f.FileName);
f.SaveAs(Server.MapPath(i + ".jpg"));
}
}
相关文章推荐
- 通过修改ajaxFileUpload.js实现多图片动态上传并实现预览
- ASP.NET(C#)实现一次性动态上传多张图片(多个文件)
- 【原创】.Net 微信 JS-SDK图片、语音上传接口的实现(MVC)-(二 、上传图片服务器操作)
- JS实现动态添加图片上传,多个单图添加
- ASP.NET(C#)实现一次性动态上传多张图片的代码(多个文件)
- ASP.NET(C#)实现一次性动态上传多张图片的代码(多个文件)
- 【原创】.Net 微信 JS-SDK图片、语音上传接口的实现(MVC)-(一 、上传图片)
- JS实现多图片上传,无插件,动态生成标签
- 七牛云:ckeditor JS SDK 结合 C#实现多图片上传。
- C#中使用iframe结合js实现图片异步上传
- atitit.GUI图片非规则按钮跟动态图片切换的实现模式总结java .net c# c++ web html js
- ASP.NET(C#)实现一次性动态上传多张图片的代码(多个文件)
- atitit.GUI图片非规则按钮跟动态图片切换的实现模式总结java .net c# c++ web html js
- ASP.NET(C#)实现一次性上传多张图片(多个文件)
- 上传图片预览JS脚本 Input file图片预览的实现示例
- 微信JS-SDK接口 + FLASK实现图片上传
- JS实现动态图片展示效果
- JS+file控件实现图片的上传和预览
- CKEditor图片上传功能实现(C#)
- 上传图片预览JS脚本 Input file图片预览的实现示例