通过莲花脚本从网址下载图片

HuM*_*MaN 0 url lotus-notes lotusscript image download

我想从url下载一张图片到我的Lotus Notes应用程序.我可以从url获取文本字段,但图像很难.我尝试将pic放到富文本字段中,但它不起作用.任何的想法?

Knu*_*ann 5

您可以借助一个类型为"Java"的小脚本库,通过LotusScript从URL下载图像.

创建类型为"Java"的脚本库"GetImageFromUrl"并输入以下代码:

import java.io.FileOutputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URL;

public class GetImageFromUrl {

    public static boolean getImageFromUrl(String imageUrl, String filePath) {
        try {
            URL url = new URL(imageUrl);
            InputStream is = url.openStream();
            OutputStream os = new FileOutputStream(filePath);
            byte[] b = new byte[2048];
            int length;
            while ((length = is.read(b)) != -1) {
                os.write(b, 0, length);
            }
            is.close();
            os.close();
            return true;
        } catch (Exception e) {
            e.printStackTrace();
            return false;
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

然后,您可以使用getImageFromUrl(imageUrl, filePath)LotusScript代码中的方法将图像下载到文件中.从那里,您可以将图像文件附加到RichText项目rtitem.EmbedObject(EMBED_ATTACHMENT, "", "c:/temp/image.jpg").

Option Declare

UseLSX "*javacon"  

Use "GetImageFromUrl"

Sub Initialize
    dim jSession As New JavaSession
    dim jClass As JavaClass
    Set jClass = jSession.GetClass( "GetImageFromUrl" )     
    If jClass.getImageFromUrl("https://your.url", "c:/temp/image.jpg") Then
        MessageBox "File is downloaded"
    End If
End Sub
Run Code Online (Sandbox Code Playgroud)