Форум программистов, компьютерный форум, киберфорум
Go (Golang)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 5.00/4: Рейтинг темы: голосов - 4, средняя оценка - 5.00
0 / 0 / 0
Регистрация: 22.12.2019
Сообщений: 8

Получение файла, полученного с другого API

22.02.2023, 11:31. Показов 845. Ответов 7

Студворк — интернет-сервис помощи студентам
Добрый день
Столкнулся с проблемой следующего характера:
Требуется отправить пользователю APK файл, который был получен с другого API.
Файл может быть размером 50-60 мегабайт

Go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
func (h *handler) GetApkFromApi(w http.ResponseWriter, r *http.Request) error {
    apkReg, err := h.repository.GetApkFromApi()
    defer apkReg.Body.Close()
    if err != nil {
        w.Header().Set("error", "File does not exist")
        w.WriteHeader(400)
        h.logger.Info("Запрос версии приложения, которого нет")
        return nil
    }
    w.Header().Set("Content-Disposition", apkReg.Header.Get("Content-Disposition")) 
    w.Header().Set("Content-Type", apkReg.Header.Get("Content-Type"))
    w.Header().Set("Accept-Ranges", apkReg.Header.Get("Accept-Ranges"))
    w.Header().Set("Content-Length", apkReg.Header.Get("Content-Length"))
    return nil
}
В apkReg записывается ответ, с которым передан файл.
В мыслях уже сохранять файл, пересылать его дальше и удалять, но понимаю, что плохая идея
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
22.02.2023, 11:31
Ответы с готовыми решениями:

Получение модулей из другого файла
Друзья, есть файл с программой, которая выводит строки на внешний дисплей. В программе определяются множество классов инициализирующих...

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

Получение данных из другого js файла
Добрый вечер! Использую Node.js и js. Есть файл app.js, в котором описана вся логика программы (подключение к БД, get и post запросы, в...

7
366 / 330 / 83
Регистрация: 17.04.2022
Сообщений: 1,091
Записей в блоге: 8
22.02.2023, 12:58
это у вас рабочий код или набросок на коленке?
0
0 / 0 / 0
Регистрация: 22.12.2019
Сообщений: 8
22.02.2023, 13:41  [ТС]
Набросок
0
366 / 330 / 83
Регистрация: 17.04.2022
Сообщений: 1,091
Записей в блоге: 8
22.02.2023, 13:59
тогда непонятно зачем он приведен и что вы хотите спросить.
0
147 / 135 / 50
Регистрация: 14.05.2021
Сообщений: 642
22.02.2023, 14:03
Цитата Сообщение от Spison Посмотреть сообщение
Требуется отправить пользователю APK файл
Что имеется в виду под "отправить пользователю"? По почему? SFTP, или что? Какой файл? Где лежит, в виде чего?
0
0 / 0 / 0
Регистрация: 22.12.2019
Сообщений: 8
22.02.2023, 14:14  [ТС]
Я видимо неправильно понял, что Вы подразумевали
Этот код работает, но мне нужно его дополнить к нему, чтобы отправлять файл, полученный в apkReg, и мне непонятно, как это можно осуществить
Именно это хотел бы узнать

Добавлено через 8 минут
Понял, что не привел код GetApkFromApi, исправляюсь

Go
1
2
3
4
5
6
7
8
9
10
11
12
13
14
func (r *repository) GetApkFromApi() (apkReq *http.Response, err error) {
    jsonBody := []byte(`{
    "type":"apk"
}`)
    tr := &http.Transport{TLSClientConfig: &tls.Config{InsecureSkipVerify: true}}
    bodyReader := bytes.NewReader(jsonBody)
    client := &http.Client{Transport: tr}
    apkReq, err = client.Post(hostApi, "application/vnd.android.package-archive", bodyReader)
    if err != nil {
        err = appError.ErrGetFile
        return
    }
    return
}
0
366 / 330 / 83
Регистрация: 17.04.2022
Сообщений: 1,091
Записей в блоге: 8
22.02.2023, 14:31
Лучший ответ Сообщение было отмечено Spison как решение

Решение

скорее всего вы хотите использовать https://pkg.go.dev/net/http#ServeContent
1
0 / 0 / 0
Регистрация: 22.12.2019
Сообщений: 8
22.02.2023, 14:47  [ТС]
Спасибо большое
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
22.02.2023, 14:47
Помогаю со студенческими работами здесь

Получение переменных из другого файла
Есть страница админки, необходимо получить имя пользователя. Это страница куда необходимо получить значение переменной ...

Получение запроса из функции из другого файла
Здравствуйте. Подскажите, пожалуйста. Есть файл first.php, в нем функция: function getCategory() { $query =...

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

Получение файла по API в Xamarin Forms
Всем хорошего дня. Вот и пришло время понять мне, как получит файл в xamarin forms из API запроса. Этот код в API public...

Получить значение переменной из другого файла, openweathermap api
Доброго времени суток. Появилась проблема с переменными. А именно, есть 2 файла, в одном я ввожу город по которому хочу получить инфу...


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

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
Новые блоги и статьи
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