| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java EE (J2EE) и Spring > upload файла, сохранение и открытие его |
| Автор: Swatch 12.4.2008, 12:12 | ||
| Добрый день. Делаю upload файла и сохраняю его в БД, при этом его еще надо сохранить в поддиректорию приложения... upload файла:
Это нормально работает и в БД все сохраняется... вопрос в том, как сделать сохранение в поддиректорию программы??? и еще, можно ли потом файл открыть в соответствующем редакторе... ну, как бывает, нажимаешь на ссылку, а тебе предлагают открыть/сохранить на диск... как это можно реализовать???? |
| Автор: Samotnik 12.4.2008, 16:34 |
а обычным спопобом (не через хибернейт) пробывали ? |
| Автор: Swatch 13.4.2008, 08:35 |
| Я понимаю, что обычным... только не совсем понимаю, как... |
| Автор: Samotnik 13.4.2008, 11:38 | ||
Взять нужное содержимое (к примеру оно будет находится в String tmp ), написать что то вроде
Ну т.е. попробуйте через обычную работу с файлом. |
| Автор: Swatch 13.4.2008, 20:34 |
| файл сохранился... спасибо за совет! только возник вопрос, как определить поддиректорию приложения??? |
| Автор: Samotnik 13.4.2008, 20:40 | ||
в смысле ? вы про это ?
|
| Автор: Swatch 13.4.2008, 21:06 | ||||
| теперь еще и с открытием файла проблемы... открывать, открывает, но файлы пустые:( вот открытие:
в чем может быть дело??? Добавлено через 2 минуты и 40 секунд эммм.. нет, мне надо не путь до файла определить, а путь к поддиректории программы, куда сохранить файл, то есть когда я делаю:
|
| Автор: Swatch 14.4.2008, 13:17 |
| ФАйл записывается нормально, но когда я его потом открываю, то там вместо его содержимого только квадратики... на счет сохранения. все понятно, что сохраняю в resources, например... только ведь путь надо писать относительный к этим resources... ведь если я напишу c://.../resources/, то не факт, что если программу перенести на другой комп, она будет работать... вот я и не знаю, как задать относительный путь просто к папке resources, которая в проекте лежит... то есть надо как-то ориентироваться на проект, только я не совсем понимаю, как... |
| Автор: Samotnik 14.4.2008, 13:30 | ||||||||
да, правилно, конечно же нужно писать относительный путь.. ДОПУСТИМ, у тебя такая ерерархия проекта :
Значіт относітельный путь будет
.. - это поднятся на уровень вверх. Т.е. если правильно задеплоится проект, то иеррархия должна остаться, и обсолютно пофигу на каком диске и в какой папке будет лежать проект, папки java resuorces tests остануться так как есть ... Добавлено @ 13:34
я не вижу, когда где файл открывается для чтения |
| Автор: Swatch 14.4.2008, 14:26 |
| хммм... что-то у меня не находит папку resuorces.... может потому, что у меня нет папки java, а иерархия такая: d://MyProject//src//myapp// //resuorces// //web//web-inf |
| Автор: Samotnik 14.4.2008, 14:29 | ||
ну конечно, я же пример написал! это твоя иерархия ??? где лежит .java класс, который будет проводить манипуляции с .txt файлом (чтение, запись, и .т.д) ? И где лежит сам .txt файл ? выложи полную иерархию ! Добавлено через 7 минут и 12 секунд Значит если файл .java лежит в d://MyProject//src//myapp// а .txt лежит в d://MyProject//resuorces// то будет выглядеть доступ вот так :
|
| Автор: Swatch 14.4.2008, 14:38 |
| d://MyProject//src//com//myapp//logic//classAction.java - это мой класс. сам файлик, который я добавляю в БД, может лежать где угодно... d://MyProject//resuorces// - сюда хочу сохранять файлики... |
| Автор: Samotnik 14.4.2008, 14:46 |
| Swatch, для этой иерархии, в классе classAction.java , нужно прописать такой путь, при открытии файла, который лежит в d://MyProject//resuorces// ..\\..\\..\\..\\resuorces\\ |
| Автор: Swatch 14.4.2008, 15:08 | ||
| Почему-то, хоть сколько FileOutputStream-у рисуй ..\\..\\..\\..\\, все равно складывается файлик в с://. не знаю, в чем дело.... Добавлено через 8 минут и 59 секунд а если писать
то файл сохраниться в c:\\Tomcat\\bin |
| Автор: Samotnik 14.4.2008, 15:57 | ||
| Swatch, а елси написать, просто FileOutputStream fos = new FileOutputStream(resuorces\\); то куда сохранится ? Вообще тебе нужно узнать путь, чтобы знать от куда плясать, Сделай так
Какой путь выводится ? |
| Автор: Swatch 15.4.2008, 06:29 |
| getAbsolutePath() возврящает C:\TomCat\bin\myfile.txt |
| Автор: Samotnik 15.4.2008, 18:07 |
не понимаю, что он там делает у тебя же проект в d://MyProject// лежит.... Возьми тогда, какой нить другой файл (которые лежит там где нужно) и относительно его пропиши путь для нового файла |
| Автор: Llucas 16.4.2008, 11:40 | ||
Можно спокойно определить относительный путь к корневой папке приложения и вообще не напрягаться
|