2014-02-19 3 views
0

Привет, я пытаюсь загрузить файл с использованием данных весны. Когда я пытаюсь загрузить файл, я получаю исключение.Загрузка файла с данными весны - gridfs

Мой код для загрузки файла является

try { 
     File file = new File(this.TEMPORARY_FILES_DIRECTORY, Calendar.getInstance().getTimeInMillis() + "_" + fileNameUnderscored); 
     writeByteArrayToFile(file, form.getFile().getBytes()); 
     FileInputStream inputStream = new FileInputStream(file); 
     GridFSFile gridFSFile = gridFsTemplate.store(inputStream, "test.png"); 
     PropertyImage img = new PropertyImage(); 
     img.setPropertyUid(gridFSFile.getFilename()); 
     imagesRepository.save(img); 

    } catch (FileNotFoundException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } catch (IOException e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 

где TEMPORARY_FILES_DIRECTORY = new File("/home/temp/");

исключение я получаю

java.io.IOException: File '/home/temp/1392807425028_file' could not be created 

отладки FileUtils класс

if (parent.mkdirs() == false) { 
       throw new IOException("File '" + file + "' could not be created"); 
      } 

parent.mkdirs() is false. 

Можете ли вы любезно рассказать мне, что не так с этим кодом.

ответ

2

Вы уверены, что это /home/temp, а не /home/username/temp? Вы не можете создавать каталоги вне своего домашнего каталога. Попробуйте что-то вроде Systen.getProperty("user.home") + "/temp", если вы хотите сохранить файлы в своем домашнем каталоге. В любом случае, почему вы не выбрали /tmp, чтобы быть вашим временным справочником?

+0

спасибо за ответ, я поменял его на/home/username/temp, и он работал [ответ принят] - предложение использовать '/ tmp', +1 – Shahzeb

Смежные вопросы