У меня серьезная проблема. Вопрос: java.awt.HeadlessExceptionБезголовое исключение в JFilechooser
Теперь проблема, я написал один и тот же код до месяца, и он работал отлично в Windows 7 & NetBeans 7.1 Разница в том, что он написал код в сервлет Но я был написать в файле Java & затем вызовите метод из сервлета.
BELIEVE ME IT'S 100% WORKS.
Но сейчас я нахожусь в Windows 8 & NetBeans 7.3 Только это два является changed.Now он не работает дает Безголовый Exception. Что я могу сделать???
Теперь скажите, пожалуйста, как загрузить файл? Мне нужен полный путь к каталогу, он будет сохранять в базе данных.
Register.jsp:
<a href="UploadUserImage">
<input type="button" class="button round blue image-right ic-upload text-upper" value="Upload" name="upload"/>
</a>
<font style="font-family: Times New Roman; font-size: 16px; color: #2a2e36; font-style: italic;"><%= image %></font>
<input type="hidden" value="images/Member/<%= image %>" name="image"/>
UploadImage.java (Servlet):
String image="images/"+new UploadFile().Upload();
request.getRequestDispatcher("Register.jsp?image="+image).forward(request, response);
UploadFile.java:
public class UploadFile
{
File file;
public String Upload()
{
try
{
final JFileChooser fc = new JFileChooser();
String[] extensions={"jpg", "png", "gif"};
FileNameExtensionFilter filter=new FileNameExtensionFilter("Images", extensions);
fc.setFileFilter(filter);
fc.setMultiSelectionEnabled(false);
//fc.setCurrentDirectory(new File("C:\\tmp"));
fc.setApproveButtonText("Upload");
int retVal = fc.showOpenDialog(new JPanel());
file=fc.getSelectedFile();
String src,dst;
src=file.getAbsolutePath();
dst="C:\\Users\\SHUVAM KAYAL\\Documents\\NetBeansProjects\\BookShopManagment\\BookShopManagment-war\\web\\images\\Member\\"+file.getName();
copy(new File(src), new File(dst));
}
catch (IOException ex)
{}
catch(NullPointerException e)
{}
return file.getName();
}
public void copy(File sourceLocation , File targetLocation) throws IOException {
if (sourceLocation.isDirectory()) {
if (!targetLocation.exists()) {
targetLocation.mkdir();
}
String[] children = sourceLocation.list();
for (int i=0; i<children.length; i++) {
copy(new File(sourceLocation, children[i]),
new File(targetLocation, children[i]));
}
} else {
InputStream in = new FileInputStream(sourceLocation);
OutputStream out = new FileOutputStream(targetLocation);
// Copy the bits from instream to outstream
byte[] buf = new byte[1024];
int len;
while ((len = in.read(buf)) > 0) {
out.write(buf, 0, len);
}
in.close();
out.close();
}
}
}
хорошо, если мы не видим ваш код, мы ничего не можем сказать – Satya
ОК, я опубликую. –
Код выбора файла, который вы пытаетесь запустить, будет выполняться на сервере, а не на компьютере-клиенте, так что ваш сервер работает в режиме безглавых (не видео-видео/видео) – MadProgrammer