2016-03-08 71 views
1

我在這裏看到很多的解決方案來上傳Angular JS中的文件。他們大多安裝了額外的模塊(如ngUpload,angular-file-upload)或創建一個自定義指令,只要上傳完成就會被調用。如何在點擊角度js文件上傳時調用自定義指令?

自定義指令方式正在工作,我上傳以獲取上傳文件的鉤子。但是我希望只有在單擊按鈕後才能啓動上傳。所以我試圖在點擊時調用該指令,但無法讀取指令中的文件輸入。

自定義指令,我使用:

app.directive('fdInput', [function() { 
return { 
    template: '<div></div>', 
    replace: true, 
    link: function (scope, element, attrs) { 
     element.on('change', function (evt) { 
      var files = evt.target.files; 
      console.log(files[0].name); 
      console.log(files[0].size); 
      scope.callbackFn({file : sfiles[0]}); 
     }); 
    } 
}; 
}]); 

自定義指令代碼上點擊:

app.directive('fdInput', [function() { 
return { 
    template: '<div></div>', 
    replace: true, 
    link: function (scope, element, attrs) { 
     scope.processFile= function() { 
      console.log('inside processFile method'); 
     }; 
    } 
}; 
}]); 

有沒有我可以在第二代碼就像我在第一次做讀取文件的方式一?

我想在Angular中實現點擊文件上傳,不包括附加模塊。任何幫助表示讚賞。

回答

1

您應該可以通過訪問指令中的控制器範圍來實現此目的。

這個link這裏的指令範圍給出了一些非常好的例子來開始。

希望有幫助!

+0

這個概念爲我工作,但使用此鏈接https://uncorkedstudios.com/blog/multipartformdata-file-upload-with-angularjs 但我現在面臨的問題,同時發送表單數據到REST API。有關如何發送文件內容的任何鏈接? – vthallam

相關問題