Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Java программирование > Общие вопросы по Java, Java SE, Kotlin
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.04.2013, 22:21   #1
kipill
Пользователь
 
Регистрация: 17.12.2010
Сообщений: 14
По умолчанию Загрузка файла на сервер

День добрый.
Есть код еще пока сырой:
Код:
    <%@page import="java.io.RandomAccessFile"%>
    <%@page import="java.io.ByteArrayOutputStream"%>
    <%
    String savePath="C:\\MyWeb\\MyTest\\Load\\";
    String fileName="";
    ServletInputStream in=request.getInputStream();
    byte[] line = new byte[128];
    int i=in.readLine(line,0,128);
    int boundaryLength=i-2;
    String boundary=new String(line,0,boundaryLength);
    while(i!=-1){
    String newLine=new String(line,0,i);
    System.out.println(newLine);
    System.out.println(newLine.startsWith("Content-Disposition: form-data; name=\""));
    if(newLine.startsWith("Content-Disposition: form-data; name=\"")){
    String s=new String(line,0,i-2);
    int pos=s.indexOf("filename=\"");
    if(pos!=-1){
    String filePath=s.substring(pos+10);
    s=filePath;
    pos=s.indexOf("\"");
    filePath=s.substring(0,pos);
    System.out.println(filePath);
    pos=filePath.lastIndexOf("\\");
    if(pos!=-1){
    fileName=filePath.substring(pos+1);
    }else{
    fileName=filePath;
    }
    }
    i=in.read(line,0,128);
    i=in.read(line,0,128);
     
    ByteArrayOutputStream buffer= new ByteArrayOutputStream();
    newLine=new String(line,0,i);
    System.out.println("newLine="+newLine);
    while(i!=-1 && !newLine.startsWith(boundary)){
    buffer.write(line, 0, i);
    i=in.readLine(line, 0, 128);
    newLine=new String(line,0,i);
    }
    try{
    RandomAccessFile f=new RandomAccessFile(savePath+fileName,"rw");
    byte[] bytes=buffer.toByteArray();
    f.write(bytes, 0, bytes.length-1);
    f.close();
    }catch(Exception e){
    System.out.println(e.toString());
    }
    }
    i=in.read(line,0,128);
    }
    %>

Который должен загружать файлы на сервер.Подскажите плз как сделать так что бы текстовые файлы грузились без метаданных?

Заранее спасибо.
kipill вне форума Ответить с цитированием
Старый 24.04.2013, 23:15   #2
kipill
Пользователь
 
Регистрация: 17.12.2010
Сообщений: 14
По умолчанию

Может кто поддскажет как вообще можно осуществить загрузку файла программным образом?
kipill вне форума Ответить с цитированием
Старый 30.04.2013, 12:40   #3
kipill
Пользователь
 
Регистрация: 17.12.2010
Сообщений: 14
По умолчанию

Проблему с загрузкой решил.Остался еще один вопрос - не коректно отображаются русские имена. Кто с этим сталкивался и что можно сделать?
kipill вне форума Ответить с цитированием
Старый 04.05.2013, 22:32   #4
Bend3r
 
Регистрация: 04.05.2013
Сообщений: 3
По умолчанию

Цитата:
Сообщение от kipill Посмотреть сообщение
Проблему с загрузкой решил.Остался еще один вопрос - не коректно отображаются русские имена. Кто с этим сталкивался и что можно сделать?
Кодировка.
Bend3r вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Загрузка картинки на сервер Che Guevara PHP 5 18.03.2011 14:49
Загрузка файла на сервер Denwer Drek PHP 2 08.10.2010 16:19
Загрузка файла на сервер denisov JavaScript, Ajax 0 31.05.2010 19:25
Загрузка файла на сервер Pum Работа с сетью в Delphi 11 14.03.2009 08:58