现在有一个疑问,不知道应该怎么去解决所以麻烦各位大虾帮看看:比如说,我要新增一个文件信息(文件可以包含多个附件),我现在设计两个表,一个文件信息表,一个附件表(附件表通过文件表的ID关联),这时如果我上传多个附件,我个人觉得,首先应该要先保存文件信息(返回文件ID),然后将这个ID和附件保存到附件表,如果我只希望用一个上传控件,应该怎么设计比较好啊??之前的想法是在上传控件后加一个”上传“按钮,当单击这个按钮,我就保存到session中,然后再下面通过gridview显示附件信息,当用户保存整个文件信息的时候,再从seesion读取,但是附件临时存在session中毕竟很消耗服务器内存啊。。

解决方案 »

  1.   

    用一个上传控件,你说的意思是一个上传完成了,再传另外一个吧?
    这种情况,你需要先预先生成一个文件信息的guid,不要使用id,上传的时候可以把这个预生成的guid传过去的
      

  2.   

    编辑框中输入文件信息
    通过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再保存附件信息