199

Safari で以下のエラーを表示します。

「URL」で「createObjectURL」を実行できませんでした: 提供された署名に一致する関数が見つかりませんでした。

私のコードは次のとおりです。

function createObjectURL(object) {
    return (window.URL) ? window.URL.createObjectURL(object) : window.webkitURL.createObjectURL(object);
}

これは画像の私のコードです:

function myUploadOnChangeFunction() { 
    if (this.files.length) { 
       for (var i in this.files) { 
           if (this.files.hasOwnProperty(i)) { 
              var src = createObjectURL(this.files[i]); 
              var image = new Image(); 
              image.src = src; 
              imagSRC = src; 
              $('#img').attr('src', src); 
            }
       }           
   } 
} 
4

10 に答える 10

2

angular を使用している場合は、このチュートリアルが役立ちます: link。ただし、次の行を置き換える必要があります。

this.video.src = window.URL.createObjectURL(stream);

これは、createObjectURL() が MediaStream の chrome で非推奨になっているためです。

this.video.srcObject = stream;
于 2021-05-25T06:19:17.263 に答える
2

ajax を使用している場合は、オプションを追加できますxhrFields: { responseType: 'blob' }

$.ajax({
  url: 'yourURL',
  type: 'POST',
  data: yourData,
  xhrFields: { responseType: 'blob' },
  success: function (data, textStatus, jqXHR) {
    let src = window.URL.createObjectURL(data);
  }
});
于 2019-10-03T18:44:31.810 に答える
0

いくつか試してみましたが、ストリームを src に割り当てるだけでうまくいきました。

video.srcObject=stream;
于 2022-01-12T10:40:20.983 に答える