2017-02-01 32 views
0

我想上傳文件夾中的圖像列表,並將它們作爲字節流存儲在數據庫中。我想給包含圖像的文件夾,而不是選擇多個文件。下面給出負責編碼的部分。上傳文件夾中的圖像列表AngularJs

$scope.uploadMultipleQuestions = function(e) { 
     var questionList = [] 
     var difficultyLevel = vm.question.difficultyLevel; 
     var theFiles = e.files; 
     for (var i = 0; i < theFiles.length; i++) { 
      var ques = {}; 
      ques.questionString = theFiles[i].name; 
      DataUtils.toBase64(theFiles[i], function(base64Data) { 
       $scope.$apply(function() { 
        ques.questionImage = base64Data; 
       }); 
       [![enter image description here][1]][1] 
      }); 
      ques.questionImageContentType = theFiles[i].type; 
      ques.questionString = theFiles[i].webkitRelativePath.split("/")[1]; 

      questionList.push(ques); 
      Question.uploadMultipleQuestions(questionList); 
     } 
     for (var i = 0; i < questionList.length; i++) { 
      console.log(questionList[i]); 
     } 
     //Question.uploadMultipleQuestions(questionList); 

    } 

但問題是,我得到在我的日誌以下詳細信息。(截圖附後)enter image description here

正如你所看到的只是最後的對象包含圖像數據,而沒有其他人有任何圖像內容。

讓我知道爲什麼會出現這個問題,以及如何解決這個問題。

+0

參見[如何使用Java腳本來打印文件夾內的所有TXT文件(http://stackoverflow.com/questions/37634049/how-to-print-all-the-txt-files-inside -a-文件夾使用的Java腳本)。 DataUtils.toBase64'是否異步返回結果? – guest271314

回答

1

需要一段時間才能將圖像轉換爲base64,因此必須在ques.questionImage填充後上傳圖像。

var uploadMultipleQuestions = function(files, i, output) { 

    if (files.length == i) { 
     for(var j=0;j<output.length;j++) 
      console.log(output[j]); 

     return Question.uploadMultipleQuestions(output); 
    } 


    DataUtils.toBase64(files[i], function(base64Data) { 

     output.push({ 
      questionString: files[i].name, 
      questionImageContentType: files[i].type, 
      questionString: files[i].webkitRelativePath.split("/")[1], 
      questionImage: base64Data 
     }); 

     uploadMultipleQuestions(files, i+1, output); 

    }); 
} 

$scope.uploadMultipleQuestions =function(e){ 
    var theFiles = e.files; 
    uploadMultipleQuestions(theFiles, 0, []); 
} 
+0

謝謝,它的工作原理 –

+1

@TahseemAhmad,YW,如果它有效,請點擊接受按鈕。 –

+0

現在發生的是questionString和questionImageContentType對於所有文件來說都是相同的。我應該如何獲取單個文件名? –

相關問題