angularjs
  • xmlhttprequest
  • form-data
  • 2016-09-27 147 views 0 likes 
    0

    在我的项目中,我试图在成功上载文件后将文件发送到服务器。这是我的代码请检查。

    fdata = new FormData(); 
    fdata.append("file", file); 
    
    $http.post('/UserQuestionnaire/AddQuestionnaire?Name=' + questionDetails.questionName + '&Description=' + questionDetails.questionDescription, fdata, 
         { 
                headers: { 
                'Content-Type': false, 
                'SessionID':$rootScope.token 
                } 
               }).then(function(success){ 
                console.log("success question uploaded" + success); 
               },function(error){ 
                console.log("error"+error); 
               }); 
    

    所有的数据都与查询字符串值一起出现,但文件没有进入服务器。

    +0

    试着在服务器端获得$ _FILES。 –

    +0

    您是否收到任何错误? –

    +0

    文件不会仅限于服务器。这段代码是正确的吗? – Kishan

    回答

    0

    IMO,发送查询字符串中的数据不是一个好习惯。

    对于文件,你可以这样做。

    var fd = new FormData(); 
    var imgBlob = dataURItoBlob($scope.uploadme); 
    fd.append('file', imgBlob); 
    
    
    $http({ 
        url: '/UserQuestionnaire/AddQuestionnaire', 
        method: 'POST', 
        data: params 
    
    }); 
    

    使用页眉为,

    headers: { 
        'Content-Type': 'multipart/form-data' 
    }, 
    
    +0

    它的设计就像那样。是否有任何额外的东西需要写在标题或任何地方? – Kishan

    +0

    我正在尝试发送扩展名为“.opgs”的文件。在这种情况下,我将如何发送? – Kishan

    +0

    你可以提供你的jsfiddle或任何你在控制台中得到的错误吗? –

    0

    我得到了这个答案在我的方式。以下是更新的代码。

    { 
    transformRequest: angular.identity, 
    headers: { 
          'Content-Type': undefined, 
          'SessionID':$rootScope.token 
         } 
    } 
    

    这是参考链接。看看这个Multipart/form-data File Upload with AngularJS

    相关问题