栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

如何通过XPages Java Bean上传和保存附件

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

如何通过XPages Java Bean上传和保存附件

您需要使用 com.ibm.xsp.component.UIFileuploadEx.UploadedFile 类在Bean中创建吸气剂和吸气剂:

private UploadedFile uploadedFile;public UploadedFile getFileUpload() {    return uploadedFile;}public void setFileUpload( UploadedFile to ) {    this.uploadedFile = to;}

在处理Bean数据的函数中(例如,保存函数),可以通过检查对象是否为空来检查文件是否已上传。如果不为null,则上传文件。

要处理该上载的文件,请首先使用getServerFile()方法获取 com.ibm.xsp.http.IUploadedFile
对象的实例。该对象具有getServerFile()方法,该方法返回上载文件的File对象。该对象的问题在于它具有一个隐秘的名称(可能要处理多个人同时上传具有相同名称的文件)。可以使用IUploadedFile类的
getClientFileName() 方法检索原始文件名。

然后,我倾向于将重命名文件重命名为其原始文件名,进行处理(将其嵌入到RTF中或对其进行其他处理),然后将其重命名为其原始(重命名)。最后一步很重要,因为只有在代码完成后才清理(删除)文件。

这是上述步骤的示例代码:

import java.io.File;import com.ibm.xsp.component.UIFileuploadEx.UploadedFile;import com.ibm.xsp.http.IUploadedFile;import lotus.domino.Database;import lotus.domino.document;import lotus.domino.RichTextItem;import com.ibm.xsp.extlib.util.ExtLibUtil;  //only used here to get the current dbpublic void saveMyBean() {  if (uploadedFile != null ) {        //get the uploaded file        IUploadedFile iUploadedFile = uploadedFile.getUploadedFile();        //get the server file (with a cryptic filename)        File serverFile = iUploadedFile.getServerFile();        //get the original filename        String fileName = iUploadedFile.getClientFileName();        File correctedFile = new File( serverFile.getParentFile().getAbsolutePath() + File.separator + fileName );        //rename the file to its original name        boolean success = serverFile.renameTo(correctedFile);        if (success) { //do whatever you want here with correctedFile //example of how to embed it in a document: Database dbCurrent = ExtLibUtil.getCurrentDatabase(); document doc = dbCurrent.createdocument(); RichTextItem rtFiles = doc.createRichTextItem("files"); rtFiles.embedObject(lotus.domino.EmbeddedObject.EMBED_ATTACHMENT, "", correctedFile.getAbsolutePath(), null); doc.save(); rtFiles.recycle(); doc.recycle(); //if we're done: rename it back to the original filename, so it gets cleaned up by the server correctedFile.renameTo( iUploadedFile.getServerFile() );        }    } }


转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/497714.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号