如何从XPages FileUpload控件获取文件名

如何从XPages FileUpload控件获取文件名,xpages,xpages-ssjs,Xpages,Xpages Ssjs,在XPages中,在文件上载控件中,用户选择文件后但在保存之前,如何获取文件名?我对路径不感兴趣,因为我认为由于安全问题无法获取该路径,但如果可能的话,我希望获取文件名和扩展名 谢谢 实际上,您可以获取文件并对其进行完全操作、读取、执行任何您想要的操作,它存储在服务器上的xsp文件夹中,您可以对其进行读/写访问。。。这是一个与文件交互的代码片段,我通常从beforeRenderResponse调用它 var fileData:com.ibm.xsp.http.UploadedFile = fac

在XPages中,在文件上载控件中,用户选择文件后但在保存之前,如何获取文件名?我对路径不感兴趣,因为我认为由于安全问题无法获取该路径,但如果可能的话,我希望获取文件名和扩展名


谢谢

实际上,您可以获取文件并对其进行完全操作、读取、执行任何您想要的操作,它存储在服务器上的xsp文件夹中,您可以对其进行读/写访问。。。这是一个与文件交互的代码片段,我通常从beforeRenderResponse调用它

var fileData:com.ibm.xsp.http.UploadedFile = facesContext.getExternalContext().getRequest().getParameterMap().get(getClientId('<INSERT ID OF UPLOAD CONTROL HERE (ie. fileUpload1)>'));

if (fileData != null) {
    var tempFile:java.io.File = fileData.getServerFile();
    // Get the path
    var filePath:String = tempFile.getParentFile().getAbsolutePath();
    // Get file Name
    var fileName:String = tempFile.getParentFile().getName();
    // Get the Name of the file as it appeared on the client machine - the name on the server will NOT be the same
    var clientFileName:String = fileData.getClientFileName();
}
var fileData:com.ibm.xsp.http.UploadedFile=facesContext.getExternalContext().getRequest().getParameterMap().get(getClientId(“”));
if(fileData!=null){
var tempFile:java.io.File=fileData.getServerFile();
//找到路
var filePath:String=tempFile.getParentFile().getAbsolutePath();
//获取文件名
变量文件名:String=tempFile.getParentFile().getName();
//获取文件在客户端计算机上显示的名称-服务器上的名称将不同
var clientFileName:String=fileData.getClientFileName();
}

实际上,您可以获取文件并对其进行完全操作、读取、执行任何您想要的操作,它存储在服务器上的xsp文件夹中,您可以对其进行读/写访问。。。这是一个与文件交互的代码片段,我通常从beforeRenderResponse调用它

var fileData:com.ibm.xsp.http.UploadedFile = facesContext.getExternalContext().getRequest().getParameterMap().get(getClientId('<INSERT ID OF UPLOAD CONTROL HERE (ie. fileUpload1)>'));

if (fileData != null) {
    var tempFile:java.io.File = fileData.getServerFile();
    // Get the path
    var filePath:String = tempFile.getParentFile().getAbsolutePath();
    // Get file Name
    var fileName:String = tempFile.getParentFile().getName();
    // Get the Name of the file as it appeared on the client machine - the name on the server will NOT be the same
    var clientFileName:String = fileData.getClientFileName();
}
var fileData:com.ibm.xsp.http.UploadedFile=facesContext.getExternalContext().getRequest().getParameterMap().get(getClientId(“”));
if(fileData!=null){
var tempFile:java.io.File=fileData.getServerFile();
//找到路
var filePath:String=tempFile.getParentFile().getAbsolutePath();
//获取文件名
变量文件名:String=tempFile.getParentFile().getName();
//获取文件在客户端计算机上显示的名称-服务器上的名称将不同
var clientFileName:String=fileData.getClientFileName();
}

听起来您指的是需要通过CSJS获取数据,您可以使用以下代码:

var filename = dojo.byId('#{id:fileUpload1}').value.split('\\').pop();

听起来您指的是需要通过CSJS获取数据,您可以使用以下代码:

var filename = dojo.byId('#{id:fileUpload1}').value.split('\\').pop();

这些链接应该能够帮助您


这些链接应该能够帮助您


您可能会发现一些有趣的事情:默认情况下,上载数据存储在服务器上的临时位置与序列化组件树(对于未在内存中存储所有页面的应用程序)位于相同的子文件夹结构中。请注意,最后一行有一个拼写错误:fileDate应该是fileData(试图编辑它,但编辑至少需要更改6个字符)。您可能会发现一些有趣的事情:默认情况下,上载数据存储在服务器上的临时位置与序列化组件树位于相同的子文件夹结构中(对于未在内存中存储所有页面的应用)。请注意,最后一行有一个输入错误:fileDate应该是fileData(尝试编辑它,但编辑至少需要更改6个字符)。