通过图片地址,将图片blob格式插入数据库,并且能在plsql里能直接看到图片
时间: 2023-09-13 07:09:43 浏览: 50
以下是通过图片地址将图片转换为BLOB格式,并将其插入到Oracle数据库中,并在PL/SQL中查看图片的步骤:
1. 创建一个表,并包含BLOB类型的列用于存储图片数据。例如:
```
CREATE TABLE myTable (
id NUMBER,
image BLOB
);
```
2. 使用Java将图片转换为BLOB格式。假设图片文件路径为`/path/to/image.jpg`,可以使用以下代码将其转换为BLOB格式:
```
import java.io.FileInputStream;
import java.io.InputStream;
import java.sql.Connection;
import java.sql.DriverManager;
import java.sql.PreparedStatement;
// Connect to database
String url = "jdbc:oracle:thin:@localhost:1521:xe";
String user = "myUsername";
String password = "myPassword";
Connection conn = DriverManager.getConnection(url, user, password);
// Convert image to BLOB
InputStream inputStream = new FileInputStream("/path/to/image.jpg");
PreparedStatement statement = conn.prepareStatement("INSERT INTO myTable (id, image) VALUES (?, ?)");
statement.setInt(1, 1);
statement.setBlob(2, inputStream);
statement.executeUpdate();
inputStream.close();
// Close connection
conn.close();
```
3. 在PL/SQL中查看图片。可以使用以下代码在PL/SQL中查看图片:
```
DECLARE
v_blob BLOB;
v_lob_length INTEGER;
BEGIN
SELECT image INTO v_blob FROM myTable WHERE id = 1;
v_lob_length := DBMS_LOB.getlength(v_blob);
IF v_lob_length > 0 THEN
OWA_UTIL.mime_header('image/jpeg', FALSE);
HTP.p('Content-length: ' || v_lob_length);
HTP.p('');
DBMS_LOB.read(v_blob, v_lob_length, 1);
END IF;
END;
```
这将在PL/SQL中显示ID为1的图片。注意,这里使用了OWA_UTIL和HTP包,需要确保这些包已经安装在数据库中。另外,对于其他类型的图片,需要将`image/jpeg`替换为相应的MIME类型。