Lotus Notes:如何仅使用缩略图限制富文本lite字段的对话框中的扩展文件类型?

问题描述:

这是我的问题:我有一个富文本lite字段,用于存储联系人照片。本场的参数是: - 只允许缩略图,图像附件名称(强制性)= ContactPhoto Parameter of the Rich Text LiteLotus Notes:如何仅使用缩略图限制富文本lite字段的对话框中的扩展文件类型?

当它的用户点击,一个标准的导入对话框(通过票据自动管理)是打开的,而图像类型可以选择如下所示: ScreenShot of the import dialog box

用下面的代码,我可以检查照片的大小:

Set uidoc=ws.CurrentDocument 
Call uidoc.Refresh(True,True) 
Set doc=uidoc.Document 

oneKB = 1024 
PhotoTrouve = False 
Forall i In doc.Items 
    If i.type = Attachment Then 
     Set emb = doc.GetAttachment(i.values(0)) 
     If emb.source="ContactPhoto" Then 
      PhotoTrouve = True 
      If emb.filesize > (50 * oneKB) Then 
       strError="The size of the photo should be less than 50 Kb." 
      End If 
     End If 
    End If 
End Forall 

If PhotoTrouve= False Then 
    strError="Photo is mandatory."     
End If 

但这是不够的。我还需要检查这是否是一个.jpg文件。问题是,因为这是一个缩略图,它的名字是ContactPhoto,没有任何扩展名,我不知道如何获得用户选择的文件的原始扩展名(似乎是不可能的)。

所以我的问题是:是否有可能强制“缩略图富文本精简版”字段的标准对话框,以便它只向用户建议.jpg扩展文件类型?如何 ?

如果不是,你知道一个解决方案来检查原始文件是否是.jpg文件?

注意:即使我通过示例命名附件CPhoto.jpg(而不是ContactPhoto),用户可以选择所有类型的图像,而不仅仅是一个jpg。照片以CPhoto.jpg的名称保存在文档的$ FILE中,但我认为该文件最终不是真正的.jpg格式。我绝对需要一张jpg图像,因为我的最终目标是将该图像导出为xml文件,并带有良好的jpg格式。

非常感谢您的回复和帮助。 Karen

您必须从C#翻译它,但是检查文件内容以查看它是否为jpg的代码可以在此网站的此answer to a previous question中找到。

+0

C#可以在Lotus Notes设计器中使用吗?我不知道如何在C#中翻译图像,对不起。 –

+0

不,C#不能在Domino Designer中使用,但是如果您阅读了代码,我相信您可以看到它在做什么并找出等效的LotusScript代码。它所做的只是从jpg文件中读取几个字节并检查它们的值。 –

+0

这只是最棘手的部分的前四个字节是它处理大/小端转换的字节反转,所以代码和评论看起来不像他们匹配 - 但他们真的这样做。 –