XPages在单击按钮时创建一个新文件夹

穆罕默德·伊斯梅尔·卡里姆|

我有一个文件上载控件,可以将文件直接保存到服务器而不是Notes文档中,但是,必须预先创建文件保存所在的文件夹。有没有一种方法可以创建一个新文件夹并将文件保存到该文件夹​​,而不是已存在的文件夹。

请参见下面的代码:

XPages

<?xml version="1.0" encoding="UTF-8"?>
<xp:view xmlns:xp="http://www.ibm.com/xsp/core">

    <xp:this.resources>
        <xp:script src="/scriptsTest.jss" clientSide="false"></xp:script>
    </xp:this.resources>
    <xp:fileUpload id="fileUpload1"></xp:fileUpload>
    <xp:button value="Label" id="button1">
        <xp:eventHandler event="onclick" submit="true"
            refreshMode="complete">
            <xp:this.action><![CDATA[#{javascript:saveTest();}]]></xp:this.action>
        </xp:eventHandler>
    </xp:button>
    <xp:text escape="true" id="message"></xp:text></xp:view>

Java脚本

function saveTest()
{
    var con = facesContext.getExternalContext(); 
    var request:com.sun.faces.context.MyHttpServletRequestWrapper = con.getRequest(); 
    var map:java.util.Map = request.getParameterMap(); 
    
    var fileDataName = getClientId("fileUpload1");
    var fileData:com.ibm.xsp.http.UploadedFile = map.get( fileDataName ); 
    
    if (fileData == null) {
        getComponent("message").value = "File could not be found on " + fileDataName;
        return;
    }

    var fileName = fileData.getServerFileName();
    var serverFile:java.io.File = fileData.getServerFile();
    if (serverFile != null && serverFile.exists()) {
         var dir = "/home/notesdata/Shared/XBRL"; //Want to create a folder programmatically called Test in XBRL folder so path should be /home/notesdata/Shared?XBRL/Test

        var tempFile:java.io.File = new java.io.File(fileName);
        var correctedFileName = dir + java.io.File.separator + fileData.getClientFileName();
         var correctedFile:java.io.File = new java.io.File( correctedFileName ); 
        var success = tempFile.renameTo(correctedFile);
        getComponent("message").value = "Yay!" + correctedFileName;
        //correctedFile.renameTo(tempFile);
    }
    else {
        getComponent("message").value = "There's a problem to find the temporal file.";
    }
}
亨里克·劳斯滕

用于mkdir()在已经存在的路径中创建一个新文件夹。因此,如果该路径已经存在,则以下将在/ home / notesdata / Shared / XBRL中创建一个名为Test的新文件夹:

var newPath = "/home/notesdata/Shared/XBRL/Test";
var newFolder:java.io.File = new java.io.File(newPath);
newFolder.mkdir();

注意:用于mkdirs()创建尚不存在的新文件夹层次结构。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Gitlab应该使用现有文件夹时创建了一个新文件夹

创建一个函数,每次上传图像时打开一个新文件夹

当 Firebase 存储中有一个名为相同的现有文件夹时,如何在 Firebase 中创建一个新文件夹

我想创建一个其中包含三个新文件夹的文件夹

创建一个新文件夹,然后在该文件夹中插入文件。Google云端硬碟

如何使用Java在给定路径下创建一个新文件夹?

如何在TFS集合下创建一个新文件夹?

使用Microsoft Graph API创建一个新文件夹

在Nautilus中创建一个新文件夹

查找文件夹的最高价值,创建一个新文件夹

打开文件并在同一文件夹中创建一个新文件

Spring Boot:文件下载在项目根文件夹内创建一个新文件

Node.js + AWS S3:上载新文件并创建一个新文件夹(如果不存在)

如何在 Bonita Web 服务器中创建一个新文件夹?

在Windows和Linux计算机上使用Java程序创建一个新文件夹

如何创建一个新文件夹,将Nautilus配置为以列表形式查看项目

如何创建一个Outlook插件,以显示来自非交换主机的新文件夹

根据下一个工作日创建名为 (yyyy-mm-dd) 的新文件夹

根据今天的日期创建一个文件夹,然后使用批处理文件将文件复制到新文件夹中

Makefile:循环文件夹并将文件合并到一个新文件中

检查文件夹是否已存在,如果不存在,请在laravel中通过id创建一个新文件夹

使每个挂载在dropzone js上传目录中成为一个新文件夹

当已经存在同名文件夹时,如何使用boost创建新文件夹?

如何按主题编号(文件名的前缀)对文件进行排序并从中创建一个新文件夹?

一旦在asp.net mvc中单击一个按钮,就创建一个文件夹

如何使用 BASH 中的一个命令同时移动文件和创建目录并粘贴到该新文件夹中

我如何通过在Linux中的给定路径上创建一个新文件夹来解压缩zip文件

Flutter:android 不允许应用程序在外部存储中创建一个新文件夹来保存文件?

如何使用PowerShell仅将新文件从一个文件夹复制到另一个文件夹