1

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

谢谢!

4

3 回答 3

6

实际上,您可以获取该文件并对其进行完全操作,读取它,对它做任何您想做的事情,它存储在服务器上的 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();
}
于 2012-08-04T00:19:50.117 回答
1

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

var filename = dojo.byId('#{id:fileUpload1}').value.split('\\').pop();
于 2012-08-04T13:41:52.040 回答