В системе с архитектурой B/S серверная часть написана на Node.js и использует Multer для обработки загрузки файлов, а внешний интерфейс представляет собой приложение Android, написанное на Java. Если фронтенд получает данные фотографии с камеры в виде byte[] (YUV), преобразует их в byte[ формы JPEG), оборачивает их в multipart/form-data и отправляет на серверную часть, сможет ли Multer правильно распознать этот загруженный файл и успешно сохранить изображение?
Код в Android выглядит следующим образом:
public void login(String account,, byte[] photoYUVBytes, final LoginCallback callback) {
RequestBody accountBody = account != null ? RequestBody.create(MediaType.parse("text/plain"), account) : null;
MultipartBody.Part photoPart = null;
if (photoYUVBytes != null) {
Camera.Size size = MainFragment.getPreviewSize();
byte[] photoBytes = yuvToJpeg(photoYUVBytes,size.width,size.height);
RequestBody photoBody = RequestBody.create(MediaType.parse("image/*"), photoBytes);
photoPart = MultipartBody.Part.createFormData("photo", "face.jpg", photoBody);
}
Call call = loginApi.login(accountBody, photoPart);
call.enqueue(new Callback() {
@Override
public void onResponse(Call call, Response response) {
if (response.isSuccessful() && response.body() != null) {
callback.onSuccess(response.body());
} else {
callback.onError(...);
}
}
});
}
и внутренний код такой:
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'uploads/'); // store catalog
},
filename: function (req, file, cb) {
const ext = path.extname(file.originalname) || '.jpg';
cb(null, `${Date.now()}${ext}`);
}
});
const upload = multer({ storage: storage });
router.post("/login", upload.single("photo") , async (req, res) => {...}
Подробнее здесь: https://stackoverflow.com/questions/797 ... -as-a-byte
Может ли серверная часть, использующая Multer для загрузки файлов, распознать изображение, отправленное как byte[] в зап ⇐ Javascript
Форум по Javascript
1759992016
Anonymous
В системе с архитектурой B/S серверная часть написана на Node.js и использует Multer для обработки загрузки файлов, а внешний интерфейс представляет собой приложение Android, написанное на Java. Если фронтенд получает данные фотографии с камеры в виде byte[] (YUV), преобразует их в byte[ формы JPEG), оборачивает их в multipart/form-data и отправляет на серверную часть, сможет ли Multer правильно распознать этот загруженный файл и успешно сохранить изображение?
Код в Android выглядит следующим образом:
public void login(String account,, byte[] photoYUVBytes, final LoginCallback callback) {
RequestBody accountBody = account != null ? RequestBody.create(MediaType.parse("text/plain"), account) : null;
MultipartBody.Part photoPart = null;
if (photoYUVBytes != null) {
Camera.Size size = MainFragment.getPreviewSize();
byte[] photoBytes = yuvToJpeg(photoYUVBytes,size.width,size.height);
RequestBody photoBody = RequestBody.create(MediaType.parse("image/*"), photoBytes);
photoPart = MultipartBody.Part.createFormData("photo", "face.jpg", photoBody);
}
Call call = loginApi.login(accountBody, photoPart);
call.enqueue(new Callback() {
@Override
public void onResponse(Call call, Response response) {
if (response.isSuccessful() && response.body() != null) {
callback.onSuccess(response.body());
} else {
callback.onError(...);
}
}
});
}
и внутренний код такой:
const storage = multer.diskStorage({
destination: function (req, file, cb) {
cb(null, 'uploads/'); // store catalog
},
filename: function (req, file, cb) {
const ext = path.extname(file.originalname) || '.jpg';
cb(null, `${Date.now()}${ext}`);
}
});
const upload = multer({ storage: storage });
router.post("/login", upload.single("photo") , async (req, res) => {...}
Подробнее здесь: [url]https://stackoverflow.com/questions/79786102/can-a-backend-using-multer-for-file-uploads-recognize-an-image-sent-as-a-byte[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия