【发布时间】:2020-01-11 01:00:52
【问题描述】:
我正在做一些 ajax 调用以从服务器接收一些 blob。我想使用URL.createObjectURL() 方法在浏览器上显示它。根据docs,它必须接受一个对象。
我需要帮助如何在 PHP 中将其作为对象返回并在浏览器上显示结果。 (result.innerHTML = "....";)
$get_blob_pst = oci_parse($conn,"SELECT ITEMIMG_IMAGE BLOB FROM SCT_ITEM_IMAGE WHERE ITEM_ID_NO=:ITEM_ID");
oci_bind_by_name($get_blob_pst, ":ITEM_ID", $row->ID);
if( oci_execute($get_blob_pst) ):
while ( $row2 = oci_fetch_array($get_blob_pst, OCI_RETURN_LOBS) ) {
$row2['BLOB'] = base64_encode($row2['BLOB']);
$result[] = $row2;
}
endif;
echo json_encode($result);
Ajax 完成方法:
let blob = URL.createObjectURL(data.BLOB);
result.innerHTML = "<img src=''/>";
【问题讨论】:
-
服务器中数据库中的 BLOB 与 JavaScript 中的 Blob 不同。您需要在 JavaScript 中将二进制数据转换为 blob(如果您将 blob 从服务器发送到 JS,您将获得二进制字符串),请检查 developer.mozilla.org/en-US/docs/Web/API/XMLHttpRequest/…
标签: javascript php blob oci8