Форум программистов, компьютерный форум, киберфорум
Программирование Android
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
22 / 20 / 5
Регистрация: 29.02.2016
Сообщений: 590

Самый простой метод отправки файлов на сервер

18.12.2017, 12:56. Показов 527. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Какой это метод? Известен путь до файла, который нужно отправить. Как его отправить?
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
18.12.2017, 12:56
Ответы с готовыми решениями:

Создать и зарегистрировать самый простой COM сервер
Начал знакомиться с COM. Выбрал книгу "Основы COM" Д.Роджерсон. Смог бы кто нибудь по шагам обясниты, как в visual studio создать и...

Написать клиент-сервер (самый простой)
Всем доброго времени суток ! Я поставил себе задачу написать клиент-сервер (самый простой) , почитал литературу , смотрел исходники , но...

Форма отправки файлов на сервер
Здравствуйте, в форме загрузки файлов на сервер две кнопки "Обзор..." и "Загрузить". Как обойтись без кнопки "Обзор..." и...

2
Модератор
 Аватар для vxg
3409 / 2180 / 354
Регистрация: 13.01.2012
Сообщений: 8,460
19.12.2017, 08:40
D7ILeucoH,
- какой самый быстрый способ доехать до остановки?
- какой остановки?
- до остановки, что тут непонятного?
- а, ну тогда самый быстрый способ доехать - это ехать
0
22 / 20 / 5
Регистрация: 29.02.2016
Сообщений: 590
19.12.2017, 14:08  [ТС]
Ай, не надо. Раз никто такого не знает, то можете юзать мой метод:
Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
Всякие переменные:
private static final String TAG = "^^^^^^^^";
    ListView list;
    String s;
    private SharedPreferences mSettings;
    AlertDialog.Builder builder;
    ProgressDialog progressDialog;
    String GetImageNameEditText;
    String ServerUploadPath ="http://ваш.сервак-сохраняльщик/" ;
 
 
//Вызов:
GetImageNameEditText = path;
                    progressDialog = ProgressDialog.show(MainActivity.this, "", "Uploading File...", true);
new Thread(new Runnable() {
                        @Override
                        public void run() {
                            uploadFile(path);
                        }
                    }).start();
 
//Метод:
public int uploadFile(final String selectedFilePath) {
        int serverResponseCode = 0;
        File selectedFile = new File(selectedFilePath);
 
        if (!selectedFile.isFile()) {
            progressDialog.dismiss();
            return 0;
        } else {
            try {
                String url = ServerUploadPath;
                String charset = "UTF-8";
                String param = "value";
                File textFile = selectedFile;
                String boundary = Long.toHexString(System.currentTimeMillis()); 
                String CRLF = "\r\n";
 
                FileInputStream fileInputStream = new FileInputStream(selectedFile);
 
                URLConnection connection = new URL(url).openConnection();
                connection.setDoOutput(true);
                connection.setDoInput(true);
                connection.setRequestProperty("Content-Type", "multipart/form-data; boundary=" + boundary);
 
                try (
                        OutputStream output = connection.getOutputStream();
                        PrintWriter writer = new PrintWriter(new OutputStreamWriter(output, charset), true);
                ) {
                    writer.append("--" + boundary).append(CRLF);
                    writer.append("Content-Disposition: form-data; name=\"file\"; filename=\"" + textFile.getName() + "\"").append(CRLF);
                    writer.append("Content-Type: text/html; charset=" + charset).append(CRLF); 
                    writer.append(CRLF).flush();
 
                    copy(textFile, output);
 
                    output.flush(); 
                    writer.append(CRLF).flush(); 
 
                    writer.append("--" + boundary + "--").append(CRLF).flush();
 
                    BufferedReader in = new BufferedReader(new InputStreamReader(connection.getInputStream(), "UTF-8"));
                    String str, response = "";
                    while ((str = in.readLine()) != null) {
                        response += str + "\n";
                    }
                    Log.e(TAG, "response: " + response);
                    if(response.contains("успешно")){
                        runOnUiThread(new Runnable() {
                            @Override
                            public void run() {
                                Toast.makeText(MainActivity.this, "Файл загружен!", Toast.LENGTH_SHORT).show();
                                fillList();
                            }
                        });
                    }
                }
 
                serverResponseCode = ((HttpURLConnection) connection).getResponseCode();
                Log.e(TAG, "serverResponseCode: " + serverResponseCode);
            } catch (FileNotFoundException e) {
                Log.e(TAG, "FileNotFoundException");
                e.printStackTrace();
                runOnUiThread(new Runnable() {
                    @Override
                    public void run() {
                        Toast.makeText(MainActivity.this, "File Not Found", Toast.LENGTH_SHORT).show();
                    }
                });
            } catch (MalformedURLException e) {
                Log.e(TAG, "MalformedURLException");
                e.printStackTrace();
                Toast.makeText(MainActivity.this, "URL error!", Toast.LENGTH_SHORT).show();
 
            } catch (IOException e) {
                Log.e(TAG, "IOException");
                e.printStackTrace();
                Toast.makeText(MainActivity.this, "Cannot Read/Write File!", Toast.LENGTH_SHORT).show();
            }
            progressDialog.dismiss();
            return serverResponseCode;
        }
 
    }
 
    public static void copy(File src, OutputStream out) throws IOException {
        try (InputStream in = new FileInputStream(src)) {
            byte[] buf = new byte[1024];
            int len;
            while ((len = in.read(buf)) > 0) {
                out.write(buf, 0, len);
            }
        }
    }
Добавлено через 1 минуту
Думал я его несколько дней, в итоге используя куски кода с различных источников отфранкенштейнил всё, и получились часики.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
19.12.2017, 14:08
Помогаю со студенческими работами здесь

Самый самый самый простой пример рекурсии
приведите самый прост пример рекурсии)))void main(int k) { int n=10; k=n; k++; n=k; if(n!=20)main(n); ...

Написать метод создания очереди и отправки запросов на сервер
Доброго времени суток! Учусь PHP. Передо мной стоит задача, алгоритм, принцип и реализация которой не совсем понятны. ...

Самый-самый простой калькулятор на JS
6) Даны два вещественных положительных числа х и у. арифметические действия над ними пронумерованы (сложение – 1, вычитание – 2,...

Тетрис (самый простой)
Написать простенький Тетрис на FASM

Самый простой подсчет+
К сожалению так и не смог освоить js. Вопрос такой. Есть у меня три импута текста. В каждом числовые значения. Первый задан, допустим 2,...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru