使用bce-bos-uploader上傳附件,附件超出限制大小操作

因爲項目部署在百度雲上,所以有關附件的上傳就使用了 baidubce.bos.Uploader。其中有一個屬性 max_file_size 可以限制上傳附件的大小。但是一旦附件大小超過這個值以後,此附件就會被忽略。換句話說,選擇附件點擊確定後,頁面不會有任何反應。這樣的話對用戶不太友好,最好是超出限制大小可以爲用戶展示提示語句。
該插件所支持的事件中,有一個 FileFiltered 事件。該函數會在附件因爲某些原因被過濾了的時候調用。因此將相關操作提示寫在這個事件中就可以了。

var uploader = new baidubce.bos.Uploader({
	  init: {
	  	FileFiltered: function (_, file) {
	    	// 如果文件因爲某些原因被過濾了,調用這個函數
	    	//文件大小
	      	var size = file.size;
	      	if(( size  /  ( 1024 * 1024 )).toFixed(2) >= 100){
            	alert("附件不得超過100M,請覈對後上傳!");
                return false;
             }
	    }
	  }
});

最後附上該插件所支持的所有事件,方便以後查詢記憶。

var uploader = new baidubce.bos.Uploader({
	init: {
			PostInit: function () {
			// uploader 初始化完畢之後,調用這個函數
		},
			FileFiltered: function (_, file) {
			// 如果文件因爲某些原因被過濾了,調用這個函數
		},
			FilesAdded: function (_, files) {
			// 當文件被加入到隊列裏面,調用這個函數
		},
			BeforeUpload: function (_, file) {
			// 當某個文件開始上傳的時候,調用這個函數
		},
			UploadProgress: function (_, file, progress, event) {
			// 文件的上傳進度
		},
			Key: function(_, file) {
			// 可以設置需要保存的文件路徑
		},
			FileUploaded: function (_, file, info) {
			// 文件上傳成功之後,調用這個函數
		},
			UploadPartProgress: function (_, file, progress, event) {
			// 分片上傳的時候,單個分片的上傳進度
		},
			Error: function (_, error, file) {
			// 如果上傳的過程中出錯了,調用這個函數
		},
			UploadComplete: function () {
			// 隊列裏面的文件上傳結束了,調用這個函數
		}
	}
});
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章