将 blob 转换为图像并将其保存到本地文件夹 - Apex

Convert blob to images and save it to local folder - Apex

我能够从富文本字段中读取 blob 现在需要将其另存为 .jgp/png 到我的本地文件夹

Matcher imgMatcher = Pattern.compile( '<img(.+?)>' ).matcher(con.Photo__c);
String imageURL = imageTag.substringBetween( ' src="', '"' );
String decodedURL = imageURL.unescapeHtml4();
PageReference page = new PageReference( decodedURL );
Blob bodyBlob = page.getContent();


//something like this
File file=new File('c://myimages');
image img=new image(bodyBlob); 
img.fomrat='jpg';
img.title='myphoto';
file.save(img);

所以它作为图像存储在我的本地文件夹中。这可能使用 apex(salesforce)

Salesforce 无法写入您的文件系统。您有几个选项,您可以保存到附件记录或文档记录并从那里下载,或者您可以通过 visualforce 页面公开文件,如果您不想将文件存储在销售人员。类似于:

<apex:page contentType="img/jpg" extensions="xxx">{!image}</apex:page>

这就是我的实现方式,一旦保存到 salesforce 文件夹,我就会从那里下载图片,希望它对某人有所帮助。

    Matcher imgMatcher = Pattern.compile( '<img(.+?)>' ).matcher(con.Photo__c);
    String imageURL = imageTag.substringBetween( ' src="', '"' );
    String decodedURL = imageURL.unescapeHtml4();
    PageReference page = new PageReference( decodedURL );
    Blob bodyBlob = page.getContent();    
    Document doc=new Document();
    doc.Body=bodyBlob;
    doc.FolderId='salesforce folder Id';
    doc.Name=con.name;
    doc.Type='jpg';
    Insert doc;