簡體   English   中英

ng-file-upload在Firefox上中斷

[英]ng-file-upload breaks on Firefox

我在AngularJS應用程序中使用ng-file-upload,在Chrome和Safari中工作正常,但在Firefox中壞了,我得到一個Error: Argument 2 of FormData.append does not implement interface Blob. 控制台中的消息。

有沒有其他人有這個問題?

包含指令的html代碼段:

<label class="article-field-label" for="article_description">Imagens</label>  
  <div class="file-upload-container">
    <a class="btn btn-default cancel-file-upload-button" ng-click="cancelPic(1)"><span>&times;</span></a>
    <div class="button thumbnail-placeholder" ngf-select ng-file-select="onFileSelect($files)"
                  ng-model="article.filesAttachments.file1" name="file" type="file"
                  ngf-pattern="'image/*'" ngf-accept="'image/*'" ngf-max-size="5MB" ngf-min-height="100"
                  ngf-resize="{width: 100, height: 100}">
    <img ngf-src="thumbnailImage(1)">
  </div>
</div>

以及向服務器發出POST請求的服務:

sendPayload = function(formData, method, url) {
  var options;
  options = {
    url: url,
    method: method,
    file: formData.filesAttachments,
    headers: { 'Content-Type': 'application/json' },
    fields: {
      article: {
        title: formData.title, 
        price: formData.price,
        user_id: formData.user_id,
        category: formData.category,
        article_state: formData.article_state,
        description: formData.description,
        city: formData.city,
        article_id: formData.article_id
      }
    }
  };
  if(method=='POST'){
    return Upload.upload(options).success(function(data, status){
      if(status === 201) {
        var file = formData.filesAttachments
        angular.forEach(file, function(file){
          file.upload = Upload.upload({
            url: '/articles/' + data.article_id + '/attachments.json',
            file: file,
            headers: { 'Content-Type': 'application/json' },
            method: 'POST'
          })
        })
      }
    }).success(function(data, status){
      latestArticleCreatedID = data.article_id;
    }).error(function(data, status) {
      console.log("Failed" + status);
    });
  }
}

因此,針對我的問題的解決方案基於對Github的評論,以更改

file: formData.filesAttachments

file: new Blob([formData.filesAttachments])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM