Salvando imagem de jlabel em .jpg

Olá, estou desenvolvendo um projeto pro meu TCC e estou criando uma pequena aplicação para gerenciar uma turma em uma escola. Nessa aplicação os alunos são cadastrados com seus dados e uma foto. Eu estava tentando salvar a imagem no banco de dados, mas tá se mostrando um pouco mais complicado do que parecia nas aulas que vi. Decidi então, salvar apenas o caminho da imagem no BD e salvar a imagem em uma pasta específica da aplicação(C:/siade/sistema/arquivos/imagens).
A imagem tá carregada em uma JLabel e quero salvar em formato jpg.

Alguém pode me dar uma dico de como proceder?

Se você já tem a imagem em um caminho fixo, por que não salva (ou copia) a imagem diretamente desse arquivo, em vez de pegar do JLabel?

De toda forma, você pode pegar a imagem de um JLabel com o método getIcon(), que retorna um Icon. Se precisa de outro tipo de objeto, pode fazer a conversão. Ex: https://stackoverflow.com/questions/14228433/how-to-convert-jlabel-geticon-to-bufferedimage

Abraço.

Os passos do usuário vão ser o seguinte:
preenche o campo CPF;
Seleciona a Imagem;
A imagem é carregada em uma JLABEL;
Ao salvar o cadastro o programa SALVA a imagem em uma pasta específica.

Se você já tem a imagem em um caminho fixo, por que não salva (ou copia) a imagem diretamente desse arquivo, em vez de pegar do JLabel?

Se a gente precisar fazer as coisas manualmente pra que criar aplicações? Para facilitar. Eu não quero que meu usuário tenha que entrar em 4 pastas para salvar uma foto tendo que renomear com o cpf se já o digitou no frame do programa.

Criando a variável para armazenar a imagem.

BufferedImage imagem;

Definindo a imagem na label:

        JFileChooser fc = new JFileChooser();
        int res = fc.showOpenDialog(null);

    if (res == JFileChooser.APPROVE_OPTION) {
        File arquivo = fc.getSelectedFile();

            try {
                imagem = ManipularImagem.setImagemDimensao(arquivo.getAbsolutePath(), 173, 139); // 173x139 será o tamanho da imagem na label. Você pode definir qualquer um, mas recomendo já deixar a label no tamanho que fai ficar depois de receber a imagem para já fazer a parte de designer .
                lblImagem.setText("");
                lblImagem.setIcon(new ImageIcon(imagem));

            } catch (Exception ex) {
               // System.out.println(ex.printStackTrace().toString());
            }

        } else {
            JOptionPane.showMessageDialog(null, "Você Não Selecionou Um Arquivo.");
        }

Salvando a Imagem:

try {
         String caminho = "C://"; //caminho onde a imagem será salva
         String nomedaimagem = "digiteonomedaimagemaqui"; // aqui você define o nome da imagem. Eu salvo nessa variável o CPF do aluno referente a foto, para que depois somente com o cpf o programa possa encontrala e carregar a imagem junto aos outros dados.
         File outputfile = new File(caminho+nomedaimagem+".jpg");
         ImageIO.write(imagem, "jpg", outputfile);
     } catch (IOException ex) {
         Logger.getLogger(tAlunos.class.getName()).log(Level.SEVERE, null, ex);
     }

Acho que você não entendeu o que eu disse. A sugestão não era pra você (ou o usuário) copiar manualmente, mas sim você programar a cópia de um ponto pra outro, já que possui o caminho de onde quer copiar e para onde quer gravar, sem passar por um JLabel (que é o que sua pergunta dava a entender). Foi exatamente o que você na sua solução.

Abraço.

Não tem caminho fixo para a origem do arquivo, o usuário pode selecionar qualquer imagem em qualquer lugar com o seletor de arquivos. Eu entendi o que você disse, creio que vc que não compreendeu.
Abraço.