多个附件一起上传 处理 入库等操作
在.aspx文件中的代码:
<head runat="server">
<script type="text/javascript" >
function AddAttachments()
{
document.getElementById('attach').value = "继续添加附件";
tb = document.getElementById('attAchments');
newRow = tb.insertRow();
newRow.insertCell().innerHTML = "<input name='File' size='50' type='file'> <input type=button value='删除'class='Button_2'style='margin-top:-8px;' οnclick='delFile(this.parentElement.parentElement.rowIndex)'>";
}
function delFile(index)
{
document.getElementById('attAchments').deleteRow(index);
tb.rows.length > 0?document.getElementById('attach').innerText = "继续添加附件":document.getElementById('attach').value = "添加附件";
}
</script>
<script type="text/javascript">
<!--。。。。省略 其他代码-->
</head>
<body>
<form id="form1" method="post" runat="server" target="_self" enctype="multipart/form-data" >
<!--。。。。省略 其他代码-->
<table width="100%" cellpadding="0" cellspacing="0" border="0"><tr style="display:none;"><td style="height: 21px"></td></tr><tr><td>
<div style="text-align:right; width:457px; height: 13px; vertical-align:middle; padding-top:2px" class="tishi_a" >
<input id="attach" type="button" style="font-family:宋体;font-size:9pt; height: 23px;" onclick="AddAttachments();" name="attach" value="添加附件" class="Button_6" /></div>
</td></tr></table>
<!--。。。。省略 其他代码-->
</form>
</body>
.cs代码文件的内容
//发送信息的附件操作
private bool saveAccess()
{
bool IsOK = false;
try
{
AccessoryModel accesMidel = new AccessoryModel();//这是一个附件所需的数据模型(下面有模型代码)
AccessoryBLL accesbll = new AccessoryBLL();//这是调用数据库的方法的逻辑层对象
for (int i = 0; i < Request.Files.Count; i++)
{
if (Request.Files[i].ContentLength > 0)
{
fjid = Guid.NewGuid();
accesMidel.Id = fjid.ToString();
accesMidel.buffers = DBCOM.FileToByte.FilesToBytes(Request.Files[i]);
accesMidel.Content = accesMidel.buffers;
accesMidel.Title = Request.Files[i].FileName.Substring(Request.Files[i].FileName.LastIndexOf("//") + 1);
accesMidel.Msg_Id = xxid.ToString ();//信息id
accesMidel.Suffix = Request.Files[i].FileName.Substring(Request.Files[i].FileName.LastIndexOf(".") + 1);
accesMidel.Size = float.Parse(Request.Files[i].ContentLength.ToString());
accesMidel.Explain = text_AcceExplain.Text.Trim();
accesMidel.UpLDate = System.DateTime.Now;
accesMidel.Remark = string.Empty;
accesMidel.Type = 1;//标示为政务信息的附件
if (accesbll.saveAccessory(accesMidel))
{
IsOK = true;
}
else
{
IsOK = false;
}
}
}
}
catch (Exception exx)
{
//Response.Write("<script language='javascript'>alert('" + + "');</" + "script>");
LTP.Common.MessageBox.Show(this, exx.ToString());
}
return IsOK;
}
附模型代码:
namespace Model
{
public class AccessoryModel
{
private Byte[] _buffer;
private string _Id;
private string _Title;
private string _Msg_Id;
private Byte [] _Content;
private string _Suffix;
private float _Size;
private string _Explain;
private DateTime _UpLDate;
private string _Remark;
private int _Type;
public Byte[] buffers
{
get { return _buffer; }
set { _buffer = value; }
}
/// <summary>
/// 附件ID
/// </summary>
public string Id
{
get { return _Id; }
set { _Id = value; }
}
/// <summary>
/// 附件标题
/// </summary>
public string Title
{
get { return _Title; }
set { _Title = value; }
}
/// <summary>
/// 回复
/// </summary>
public string Msg_Id
{
get { return _Msg_Id; }
set { _Msg_Id = value; }
}
/// <summary>
/// 后缀
/// </summary>
public string Suffix
{
get { return _Suffix; }
set { _Suffix = value; }
}
/// <summary>
/// 附件内容
/// </summary>
public Byte[] Content
{
get { return _Content; }
set { _Content = value; }
}
/// <summary>
/// 附件大小
/// </summary>
public float Size
{
get { return _Size; }
set { _Size = value; }
}
/// <summary>
/// 附件说明
/// </summary>
public string Explain
{
get { return _Explain; }
set { _Explain = value; }
}
/// <summary>
/// 上传时间
/// </summary>
public DateTime UpLDate
{
get { return _UpLDate; }
set { _UpLDate = value; }
}
/// <summary>
/// 备注
/// </summary>
public string Remark
{
get { return _Remark; }
set { _Remark = value; }
}
/// <summary>
/// 附件类型为通知企业的附件
/// </summary>
public int Type
{
get { return _Type; }
set { _Type = value; }
}
}
}
如有疑问请留言或提问我们将尽快答复