Apex 19.2:从外部URL下载文件到blob列
创始人
2024-09-06 22:01:22
0

在Apex 19.2中,可以使用以下代码示例从外部URL下载文件到blob列:

DECLARE
  l_url   VARCHAR2(2000) := 'https://example.com/file.txt'; -- 外部URL
  l_blob  BLOB;
  l_http  Utl_Http.Http_Request;
  l_resp  Utl_Http.Http_Response;
  l_buffer VARCHAR2(32767);
  l_amount NUMBER;
  l_pos    NUMBER := 1;
BEGIN
  -- 创建HTTP请求
  l_http := Utl_Http.Begin_Request(l_url);

  -- 发送HTTP请求并获取响应
  l_resp := Utl_Http.Get_Response(l_http);

  -- 创建BLOB对象
  Dbms_Lob.CreateTemporary(l_blob, TRUE);

  -- 循环读取响应并写入BLOB
  LOOP
    Utl_Http.Read_Text(l_resp, l_buffer, 32767);
    l_amount := Length(l_buffer);
    Dbms_Lob.Write(l_blob, l_amount, l_pos, l_buffer);
    l_pos := l_pos + l_amount;
    EXIT WHEN l_amount < 32767;
  END LOOP;

  -- 在数据库中保存BLOB
  INSERT INTO your_table (file_blob) VALUES (l_blob);

  -- 提交事务
  COMMIT;
EXCEPTION
  WHEN OTHERS THEN
    -- 处理异常
    Dbms_Output.Put_Line('An error occurred: ' || Sqlerrm);
END;

请将代码中的https://example.com/file.txt替换为你要下载的文件的URL,并将your_table替换为你要保存blob的表名。此代码会将从外部URL下载的文件保存到blob列中。

注意:在使用此代码之前,请确保数据库服务器能够访问所提供的外部URL,并且数据库用户具有执行网络请求的权限。

相关内容

热门资讯

安卓系统怎么连不上carlif... 安卓系统无法连接CarLife的原因及解决方法随着智能手机的普及,CarLife这一车载互联功能为驾...
iwatch怎么连接安卓系统,... 你有没有想过,那款时尚又实用的iWatch,竟然只能和iPhone好上好?别急,今天就来给你揭秘,怎...
oppo手机安卓系统换成苹果系... OPPO手机安卓系统换成苹果系统:现实吗?如何操作?随着智能手机市场的不断发展,用户对于手机系统的需...
iphone系统与安卓系统更新... 最近是不是你也遇到了这样的烦恼?手机更新系统总是失败,急得你团团转。别急,今天就来给你揭秘为什么iP...
安卓平板改windows 系统... 你有没有想过,你的安卓平板电脑是不是也能变身成Windows系统的超级英雄呢?想象在同一个设备上,你...
安卓系统上滑按键,便捷生活与高... 你有没有发现,现在手机屏幕越来越大,操作起来却越来越方便了呢?这都得归功于安卓系统上的那些神奇的上滑...
安卓系统连接耳机模式,蓝牙、有... 亲爱的手机控们,你们有没有遇到过这种情况:手机突然变成了“耳机模式”,明明耳机没插,声音却只从耳机孔...
希沃系统怎么装安卓系统,解锁更... 亲爱的读者们,你是否也像我一样,对希沃一体机上的安卓系统充满了好奇呢?想象在教室里,你的希沃一体机不...
安装了Anaconda之后找不... 在安装Anaconda后,如果找不到Jupyter Notebook,可以尝试以下解决方法:检查环境...
安卓换鸿蒙系统会卡吗,体验流畅... 最近手机圈可是热闹非凡呢!不少安卓用户都在议论纷纷,说鸿蒙系统要来啦!那么,安卓手机换上鸿蒙系统后,...