现在有一个疑问,不知道应该怎么去解决所以麻烦各位大虾帮看看:比如说,我要新增一个文件信息(文件可以包含多个附件),我现在设计两个表,一个文件信息表,一个附件表(附件表通过文件表的ID关联),这时如果我上传多个附件,我个人觉得,首先应该要先保存文件信息(返回文件ID),然后将这个ID和附件保存到附件表,如果我只希望用一个上传控件,应该怎么设计比较好啊??之前的想法是在上传控件后加一个”上传“按钮,当单击这个按钮,我就保存到session中,然后再下面通过gridview显示附件信息,当用户保存整个文件信息的时候,再从seesion读取,但是附件临时存在session中毕竟很消耗服务器内存啊。。
这种情况,你需要先预先生成一个文件信息的guid,不要使用id,上传的时候可以把这个预生成的guid传过去的
通过fileupload动态添加多个,可使用用户控件
<script type="text/javascript">
function AddFile()
{
var strFile=" <input name=\"upload_file\" type='file' class='inputText' style='WIDTH:350px;'/> <br/>";
document.getElementById("td_uploadFile").insertAdjacentHTML("beforeEnd",strFile);
}
</script>
<input id="BtnAddFile" type="button" class="inputButton" value="增加附件" onclick="javascript:AddFile()" /> <td id="td_uploadFile" align="center">
<input id="upload_file" name="upload_Attachment" type="file" class="inputText"
style="width: 350px; display:none;" runat="server" />
</td>
HttpFileCollection Files = HttpContext.Current.Request.Files;
for (int i = 0; i < Files.Count; i++)
{ HttpPostedFile PostedFile = Files[i];
if (PostedFile.ContentLength > 0)
{}
} 先添加文件信息获取ID再保存附件信息