jQuery Ajax响应以字符串Blob的形式出现

时间:2019-01-09 17:15:51

标签: javascript jquery ajax blob

我正在调用AWS S3以使用jquery 3.3.0中的ajax调用来检索图像,而不是获得blob对象,而是将响应接收为“ [object Blob]”。请让我知道是否需要提供更多详细信息。

请在下面找到代码

$.ajax({
                    url:"my_path/download_image.php",
                    data: {name: "my_name"},
                    cache:false,
                    xhrFields:{
                        responseType: 'blob'
                    },
                    success: function(data){
                    console.log(data);
                        var image = new Image();
                        var url = window.URL || window.webkitURL;
                        self.DownloadStudentImages(students,index+1);
                        image.src = url.createObjectURL(data);
                        self.SavePic(imageFilename);
                    },
                    error:function(){
                    }
                });

1 个答案:

答案 0 :(得分:2)

我已解决此问题。通常,来自PHP的AWS响应均为字符串格式,除非对其进行明确编码。因此,我从PHP发送base64,并在javascript端,将其转换为字节数组,从而转换为可解决问题的Blob。