2013-04-30 57 views
0

我想上传一个文件,通常是excel或word文件。设计就像我有一个HTML页面有文件上传控制,这是在服务器上承载使用HTML和asp.net web服务上传文件

上传文件时,它调用asp.net中的Web服务插入数据到Database.this被视为单独的应用程序在相同的服务器seperatily托管。 数据事务是通过JSON。

但我无法获取该文件,所有其他数据都清除并将其插入数据库。

任何一个可以帮助我解决这个problem..canü请给我一个样品做到这一点...

示例代码

$(function() { 
    //add document button click 
     $("#btn_AddDoc").click(function (e) { 
      e.preventDefault(); 
      var InsDocDet = {}; 
      InsDocDet.docname=$("#ipDocId").val(); 

      InsDocDet.ownerUser=1; 
      InsDocDet.catid=$("#drp_cat").val(); 
      InsDocDet.createDatetime=new Date(); 
      InsDocDet.description_d=$("#doc_desc").val(); 
      InsDocDet.comments_=$("#doc_cmnt").val(); 
      InsDocDet.deptid_=$("#Drp_dept").val(); 
      InsDocDet.con_type=1; 
      InsDocDet.size_=1; 
      InsDocDet.Doc_status="up"; 
      var fullPath =$("#Upload_doc").val(); //document.getElementById('doc_upload').value; 
      if (fullPath) { 
       var startIndex = (fullPath.indexOf('\\') >= 0 ? fullPath.lastIndexOf('\\') : fullPath.lastIndexOf('/')); 
       var filename = fullPath.substring(startIndex); 
       if (filename.indexOf('\\') === 0 || filename.indexOf('/') === 0) { 
       filename = filename.substring(1); 
        InsDocDet.file_name=filename; 
       } 
      } 
      $.ajax({ 
       type: "POST", 
       url: "http://localhost/Service/Service.asmx/srv_Insert_Document", 
       data: "{ins_Doc:" + JSON.stringify(InsDocDet) + "}", 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       success: function (r) {   
         console.log("RT"); 
       } 
      }); 
     }); 
    //add document--- 

    }); 

问候,

Sivajith S.

+0

这两个步骤或'跳'到你描述的方法。你说'但我没有得到文件'......这是真的在第一步,即张贴的HTML页面与FileUpload控制? – 2013-04-30 17:37:32

+0

我无法获取服务中的文件,文件属性被保存 – Sivajith 2013-04-30 17:39:46

+0

也许如果您在执行时显示一些代码,它会有所帮助。向我们展示如何处理PostBack以及如何从那里调用WebService。 – 2013-04-30 17:44:11

回答

0

如果这只发生在服务器上,请检查您是否具有正确的读/权限的特定直接ry在保存文件的同时,请在尝试访问文件之前检查文件状态是否未被读取保护(或其资源是免费的 - 您的想法:))#Alok Sharma