diff --git a/src/app/common/audio-recorder/audio-recorder.component.ts b/src/app/common/audio-recorder/audio-recorder.component.ts
index feeeb4d1aa9cb0a0da69f65c2efa7ca0dcd2b1cc..605db0ab773819d944f4b9932a82f5cfb6111f94 100644
--- a/src/app/common/audio-recorder/audio-recorder.component.ts
+++ b/src/app/common/audio-recorder/audio-recorder.component.ts
@@ -22,8 +22,8 @@ export class AudioRecorderComponent implements OnInit, OnChanges, OnDestroy {
   @Input()
   withRmBtn = false;
 
-  uploadUrl = (window as any).courseware.uploadUrl();
-  uploadData = (window as any).courseware.uploadData();
+  uploadUrl;
+  uploadData;
 
   @Input()
   needRemove = false;
@@ -55,7 +55,13 @@ export class AudioRecorderComponent implements OnInit, OnChanges, OnDestroy {
 
 
   constructor( private nzMessageService: NzMessageService ) {
+    this.uploadUrl = (<any> window).courseware.uploadUrl();
+    this.uploadData = (<any> window).courseware.uploadData();
 
+    window['air'].getUploadCallback = (url, data) => {
+      this.uploadUrl = url;
+      this.uploadData = data;
+    };
   }
 
   init() {
diff --git a/src/app/common/upload-image-with-preview/upload-image-with-preview.component.ts b/src/app/common/upload-image-with-preview/upload-image-with-preview.component.ts
index 88aa192d936ad5619a140ed6da5b5285d03429c4..f4694a1f1ae4b582b3c121e601c6322437888820 100644
--- a/src/app/common/upload-image-with-preview/upload-image-with-preview.component.ts
+++ b/src/app/common/upload-image-with-preview/upload-image-with-preview.component.ts
@@ -29,10 +29,19 @@ export class UploadImageWithPreviewComponent implements OnDestroy, OnChanges {
   @Input()
   disableUpload = false;
 
-  uploadUrl = (<any> window).courseware.uploadUrl();
-  uploadData = (<any> window).courseware.uploadData();
+  uploadUrl;
+  uploadData;
 
   constructor(private nzMessageService: NzMessageService) {
+
+    this.uploadUrl = (<any> window).courseware.uploadUrl();
+    this.uploadData = (<any> window).courseware.uploadData();
+
+    window['air'].getUploadCallback = (url, data) => {
+      this.uploadUrl = url;
+      this.uploadData = data;
+    };
+
   }
   ngOnChanges() {
     if (!this.picItem) {
diff --git a/src/app/common/upload-video/upload-video.component.ts b/src/app/common/upload-video/upload-video.component.ts
index d6dec6ce0befc42eecc9e24cff51e60307e50ec9..013f8ad224a9a0bc09a015e2254b1cbaa4136bce 100644
--- a/src/app/common/upload-video/upload-video.component.ts
+++ b/src/app/common/upload-video/upload-video.component.ts
@@ -47,8 +47,8 @@ export class UploadVideoComponent implements OnChanges, OnDestroy {
   item: any;
   // videoItem = null;
 
-  uploadUrl = (window as any).courseware.uploadUrl();
-  uploadData = (window as any).courseware.uploadData();
+  uploadUrl;
+  uploadData;
 
   constructor(private nzMessageService: NzMessageService,
               private sanitization: DomSanitizer
@@ -58,6 +58,16 @@ export class UploadVideoComponent implements OnChanges, OnDestroy {
     this.uploading = false;
     this.videoFile = null;
 
+
+    this.uploadUrl = (<any> window).courseware.uploadUrl();
+    this.uploadData = (<any> window).courseware.uploadData();
+
+    window['air'].getUploadCallback = (url, data) => {
+
+      this.uploadUrl = url;
+      this.uploadData = data;
+    };
+
   }
   ngOnChanges() {
     // if (!this.videoFile || this.showUploadBtn) {