在JSF中上载文件(需要正确的文件路径)

在JSF中上载文件(需要正确的文件路径),jsf,file-upload,Jsf,File Upload,我试图让我的JSF站点上传一张图片到服务器上,但我有一段时间。我找到了4种方法,但我想使用h:InputFile,因为它似乎是最直接的 似乎我只需要提供正确的上传路径 添加@MultipartConfig后,我不再得到异常,但我无法验证文件是否已上载或看到任何错误 public void AddPicture() { ConnInfo HitIt = new ConnInfo(); try { HitIt.save(fileCelebrityToAdd)

我试图让我的JSF站点上传一张图片到服务器上,但我有一段时间。我找到了4种方法,但我想使用h:InputFile,因为它似乎是最直接的

似乎我只需要提供正确的上传路径

添加@MultipartConfig后,我不再得到异常,但我无法验证文件是否已上载或看到任何错误

public void AddPicture()
{
    ConnInfo HitIt = new ConnInfo();

    try
    {
        HitIt.save(fileCelebrityToAdd);
    }
    catch(Exception ex)
    {
        //?
    }
}




@MultipartConfig(location="C:\\local\\pathway\\Netbeans\\project\\web\\Pictures\\items\\")
public class ConnInfo 
{
private String uploadLocation;

public ConnInfo()
{
    //uploadLocation = ".\\Pictures\\items\\";
    uploadLocation = "C:\\local\\pathway\\Netbeans\\project\\web\\Pictures\\items\\";
}

public boolean TryOut(Part file) throws IOException
{
    String monkey = uploadLocation+getFilename(file);

    try
    {
        file.write(monkey);
    }
    catch(Exception ex)
    {
        return false;
    }

    return true;
}
}

希望我已经正确地复制了必要的信息。

在回顾并重新阅读了所有我添加书签的文章之后,实际上是Tam建议我能够删除一些信息的那篇文章中的一篇

我不需要AJAX,也不需要@MultipartConfig,我之前的尝试也不正确,但下面的方法允许我成功地将图片上传到我想要的地方:

public boolean SaveHer(Part file) 
{
    String monkey = getFilename(file);

    try (InputStream input = file.getInputStream()) 
    {
        Files.copy(input, new File(uploadLocation, monkey).toPath());
    }
    catch (IOException e) 
    {
        // Show faces message?
        return false;
    }
    return true;
}

请阅读这个主题:谢谢谭,这是我找到的众多文章之一。事实证明,我有一个嵌套表单问题影响了这一点,我将相应地更新该问题,但现在(看起来)这只是为文件提供正确路径的问题。不客气:)