Может ли серверная часть, использующая Multer для загрузки файлов, распознать изображение, отправленное как byte[] в запJavascript

Форум по Javascript
Ответить
Anonymous
 Может ли серверная часть, использующая Multer для загрузки файлов, распознать изображение, отправленное как byte[] в зап

Сообщение 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) => {...}


Подробнее здесь: https://stackoverflow.com/questions/797 ... -as-a-byte
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»