gpt4 book ai didi

java - 如何使用 af :inputFile in Oracle ADF 上传文件

转载 作者:行者123 更新时间:2023-11-30 08:11:36 27 4
gpt4 key购买 nike

谁能告诉我如何在 Oracel ADF 中使用 af:inputFile 将文件上传到服务器。我对此进行了搜索,发现我们可以使用以下内容

<af:form usesUpload="true">
<af:inputFile columns="10"
valueChangeListener="#{backing.fileUploaded}"/>
</af:form>

使用上面的代码,我可以设置一个方法,当有人在表单中选择某个文件时执行该方法。所以现在我需要在 fileUploaded 方法中知道将给定文件上传到服务器的 java 代码应该是什么。

请帮帮我。我如何才能做到这一点。

提前致谢。

最佳答案

因为您已经在托管 bean 中创建了值更改监听器,所以请使用此代码 -

/**Method to Upload File ,called on ValueChangeEvent of inputFile
* @param vce
*/

public void uploadFileVCE(ValueChangeEvent vce) {
if (vce.getNewValue() != null) {
//Get File Object from VC Event
UploadedFile fileVal = (UploadedFile) vce.getNewValue();
}
}

这是上传文件到服务器的方法(你必须提供绝对路径)

/**Method to upload file to actual path on Server*/
private String uploadFile(UploadedFile file) {

UploadedFile myfile = file;
String path = null;
if (myfile == null) {

} else {
// All uploaded files will be stored in below path
path = "D://FileStore//" + myfile.getFilename();
InputStream inputStream = null;
try {
FileOutputStream out = new FileOutputStream(path);
inputStream = myfile.getInputStream();
byte[] buffer = new byte[8192];
int bytesRead = 0;
while ((bytesRead = inputStream.read(buffer, 0, 8192)) != -1) {
out.write(buffer, 0, bytesRead);
}
out.flush();
out.close();
} catch (Exception ex) {
// handle exception
ex.printStackTrace();
} finally {
try {
inputStream.close();
} catch (IOException e) {
}
}

}
//Returns the path where file is stored
return path;
}

在 OTN 论坛上查看此主题 https://community.oracle.com/message/13135474#13135474

在这里您可以阅读完整的实现并下载示例应用程序进行测试 http://www.awasthiashish.com/2014/08/uploading-and-downloading-files-from.html

上面最后一个链接及其内容的完整披露:我写的,这是我的 TLD。

关于java - 如何使用 af :inputFile in Oracle ADF 上传文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30888621/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com