我們有一個表文件保存爲BLOBPL/SQL發送帶附件的電子郵件?
我寫了一個代碼,將這些文件作爲附件發送給我們!
目前爲止一切正常,但文件(EXCEL,PDF,...什麼都沒有)是程序不可讀取的,只有文本文件和excel會打開,但是在出現一些錯誤消息後,所有PDF都不能打開根本!
這裏是有問題的代碼的一部分!
utl_smtp.write_data(l_connection, '--'|| l_boundary || utl_tcp.crlf);
utl_smtp.write_data(l_connection, 'Content-Type: application/octet-stream' || utl_tcp.crlf);
utl_smtp.write_data(l_connection, 'Content-Disposition: attachment; filename="' || V_NAME || '"' || utl_tcp.crlf);
utl_smtp.write_data(l_connection, 'Content-Transfer-Encoding: base64' || utl_tcp.crlf);
utl_smtp.write_data(l_connection, utl_tcp.crlf);
v_length := dbms_lob.getlength(V_BLOB_CONTENT);
while v_offset < v_length loop
dbms_lob.read(V(i).BLOB_CONTENT, v_buffer_size, v_offset, v_raw);
utl_smtp.write_raw_data(l_connection, utl_encode.base64_encode(v_raw));
utl_smtp.write_data(l_connection, utl_tcp.crlf);
v_offset := v_offset + v_buffer_size;
end loop while_loop;
utl_smtp.write_data(l_connection, utl_tcp.crlf);
有什麼建議嗎?
看着代碼,我看到它和我的代碼之間沒有推論!!!即使我有相同的緩衝區和索引值! –
@ Data-Base;添加了一些評論,主要是確保附件在電子郵件的結尾處,即在電子郵件關閉之前。 – Harrison
現在我想出來了,我錯過了 - 強制重新啓動可能會改變l_buff_size:= 57; l_idx:= 1;謝謝分配 –