需要在FileDialog图像中显示所选内容,但这可能不起作用。当我尝试选择图像时,会抛出异常javax.imageio.IIOException:无法创建ImageInputStream!
我认为问题出在getDirectory()中,但不知道如何修复。
public ImageShow() throws IOException {
super("Pictures");
setSize(1024,768);
setDefaultCloseOperation(WindowConstants.EXIT_ON_CLOSE);
setLocationRelativeTo(null);
JPanel buttonPanel = new JPanel(new FlowLayout());
buttonOpen = new JButton("Open file");
buttonPanel.add(buttonOpen);
actions();
fileDialog();
add(buttonPanel);
image = ImageIO.read(new File(fd.getDirectory()));
imageLabel = new JLabel(new ImageIcon(image));
buttonPanel.add(imageLabel);
}
public void fileDialog() {
fd = new FileDialog(new JFrame(), "Choose file");
fd.setVisible(true);
}
public void actions() {
buttonOpen.addActionListener(new ActionListener() {
@Override
public void actionPerformed(ActionEvent e) {
fileDialog();
}
});
}
}
答案 0 :(得分:1)
<?php
$id = $_POST['id'];
$tipo_bolsa = $_POST['tipo_bolsa'];
$titulo = $_POST['titulo'];
$imagen = $_POST['imagen'];
$descripcion = $_POST['descripcion'];
$categoria = $_POST['categoria'];
$fecha = $_POST['fecha'];
$sueldo = $_POST['sueldo'];
$idP = $_POST['idP'];
// I need imagen-ajax variable $src, to save it on image field
require('cone.php');
$con = Conectar();
$sql = 'INSERT INTO bolsa (id, tipo_bolsa, titulo, imagen, descripcion, categoria, fecha, sueldo) VALUES (:id, :tipo_bolsa, :titulo, :imagen, :descripcion, :categoria, :fecha, :sueldo)';
$q = $con->prepare($sql);
$q->execute(array(':id'=>$id, ':tipo_bolsa'=>$tipo_bolsa, ':titulo'=>$titulo, ':imagen'=>$imj, ':descripcion'=>$descripcion, ':categoria'=>$categoria, ':fecha'=>$fecha, ':sueldo'=>$sueldo));
目录不是图像!请改为使用 getFile()
:
获取此文件对话框的选定文件。如果用户选择了CANCEL,则返回的文件为空。
但正如我在评论中所说..
使用基于Swing的
image = ImageIO.read(new File(fd.getDirectory()));
而不是基于AWT的JFileChooser
。
使用方法时一定要查阅avialable文档。