场景:用户通过页面选择一个EXCEL,然后保存,此时需要读取EXCEL的内容写到数据库。问题:
1.请问需要先把这个文件进行上传操作,然后在服务器端进行读取还是可以直接读取(顺便可以提前校验数据内容)再进行上传?
2.站点部署到IIS后,我上传时发现能上传D盘的东西但不能上传桌面的东西,通过给桌面文件夹添加访问权限后可以上传,但上传一个东西用户怎么知道要去改文件夹的权限?对于用户来说应该爱选什么目录都可以吧。

解决方案 »

  1.   

    需要先上传。
    上传时发现能上传D盘的东西但不能上传桌面的东西?
    代码写的有问题
    string x = Server.MapPath("~/xx.xls");
    你应该先Fileupload1.SaveAs(x);
    然后处理 x这个文件路径,而不是 Fileupload1.FileName
      

  2.   

    假如我不需要保留这个EXCEL文件是否就不用上传了呢?直接读取保存到数据库?上传用以下代码(上传桌面文件就不行(VS中启动可以,IIS中不行)):
    string FileServerUrl = "http://localhost:8086/Attachments/";
    WebClient webClient = new WebClient();
    webClient.UploadFile(FileServerUrl + FileName, "PUT", FileFullPath);
      

  3.   

    补充:上传是上传到指定文件服务器(跟WEB不是同一站点),没有用SaveAS的方式。
      

  4.   

    WebClient webClient = new WebClient();
    是传物理文件,你的代码在服务器上运行的,你传客户端的文件当然是不行的啊。
      

  5.   

    如果文件服务器和WEB站点分开的话,是不是要先上传到文件服务器,然后下载到WEB站点,然后读取EXCEL,再返回校验结果给用户?