2017-05-15 115 views
-1

使用ng file upload指令我正在使用ngf-accept來指定允許的文件類型列表。這已經禁止了許多文件類型,並且它們在上傳對話框中顯示爲灰色,但我仍然可以上傳任何帶有.js或.sh擴展名的文件。防止使用ng文件上傳來上傳JavaScript文件

我已將該指令添加到以下鏈接,並帶有允許的文件列表。

<a ng-model="file" data-nodrag ngf-select="openUploadModal($file, this)" ng-show="this.$nodeScope.$modelValue.type === 'folder'" ngf-accept="'image/*,video/*,audio/*,.pdf,.txt,.doc,.docx,.xls,.xlsx'"> 

問題來自.txt允許的值。如果我刪除'.txt'擴展名,則.js和.sh文件也被禁用。顯然this is due to a bug affecting Mac users only,但有沒有辦法解決這個問題?

+0

注意,說的插件不會阻止用戶跳過您的客戶端保護和上傳任何您的服務器將通過同一個端點允許直接到服務器。 –

+0

是的,我有服務器端保護,但希望避免客戶端錯誤的人誰不在API周圍 –

回答

0

而不是ngf-accept,嘗試ngf模式,然後你可以使用'!'明確禁止某些文件類型:

<a ng-model="file" data-nodrag ngf-select="openUploadModal($file, this)" ng-show="this.$nodeScope.$modelValue.type === \'folder\'" ngf-pattern="'image/*,video/*,audio/*,.pdf,.txt,.doc,.docx,.xls,.xlsx,!.js,!.sh'">