Флаттер:
var params = {
"image_file": base64Encode(_selectedImage.readAsBytesSync()),
};
final response = await http
.post("http://127.0.0.1:8000/users/upload_image_test/", body: params);
}
Python:
from PIL import Image,
import io
import base64
def post(self, request, *args, **kwargs):
received_data = request.data.get('image_file')
decode_data = base64.b64decode(sent_data)
byte_image = Image.open(io.BytesIO(decode_data))
byte_image.show()
Я проверил его, и он работает. Не забудьте пометить его как правильный ответ при успешном тестировании.
Для неуправляемого файла DLL необходимо сначала проверить, является ли это 16-разрядный файл DLL (надо надеяться, не). Затем проверьте IMAGE\_FILE_HEADER.Machine
поле.
Кто-то еще не торопился уже для разработки этого, таким образом, я просто повторюсь здесь:
Для различения 32-разрядный и 64-разрядный файл PE необходимо проверить поле IMAGE_FILE_HEADER.Machine. На основе Microsoft PE и спецификации COFF ниже, я перечислил все возможные значения для этого поля: http://download.microsoft.com/download/9/c/5/9c5b2167-8017-4bae-9fde-d599bac8184a/pecoff_v8.doc
IMAGE_FILE_MACHINE_UNKNOWN 0x0 содержание этого поля, как предполагается, применимо к любому типу
IMAGE_FILE_MACHINE_AM33 0x1d3 машины Matsushita AM33
прямой порядок байтов IMAGE_FILE_MACHINE_AMD64 0x8664 x64
IMAGE_FILE_MACHINE_ARM 0x1c0 ARM
IMAGE_FILE_MACHINE_EBC 0xebc код байта EFI
IMAGE_FILE_MACHINE_I386 0x14c Intel 386 или более поздние процессоры и совместимые процессоры
семейство процессоров IMAGE_FILE_MACHINE_IA64 0x200 Intel Itanium
прямой порядок байтов IMAGE_FILE_MACHINE_M32R 0x9041 Mitsubishi M32R
IMAGE_FILE_MACHINE_MIPS16 0x266 MIPS16
IMAGE_FILE_MACHINE_MIPSFPU 0x366 MIPS с FPU
IMAGE_FILE_MACHINE_MIPSFPU16 0x466 MIPS16 с Питанием прямой порядок байтов ПК FPU
IMAGE_FILE_MACHINE_POWERPC 0x1f0
Питание ПК IMAGE_FILE_MACHINE_POWERPCFP 0x1f1 с поддержкой с плавающей точкой
прямой порядок байтов IMAGE_FILE_MACHINE_R4000 0x166 MIPS
ползунок IMAGE_FILE_MACHINE_SH3 0x1a2 Hitachi SH3
IMAGE_FILE_MACHINE_SH3DSP 0x1a3 Hitachi SH3 DSP
IMAGE_ FILE_MACHINE_SH4 0x1a6 Hitachi SH4
IMAGE_FILE_MACHINE_SH5 0x1a8 Hitachi SH5
IMAGE_FILE_MACHINE_ THUMB 0x1c2
WCE v2
прямого порядка байтов IMAGE_FILE_MACHINE_WCEMIPSV2 0x169 MIPS Да, можно проверить IMAGE_FILE_MACHINE_AMD64|IMAGE_FILE_MACHINE_IA64 на 64 бита и IMAGE_FILE_MACHINE_I386 для 32 битов.
64-разрядные двоичные файлы хранятся в PE32 + формат. Попытайтесь читать http://www.masm32.com/board/index.php?action=dlattach;topic=6687.0;id=3486
По-видимому, можно найти его в заголовке портативного исполняемого файла. Утилита corflags.exe может показать Вам, предназначается ли она для x64. Надо надеяться, это помогает Вам найти больше информации об этом.
You can find a C# sample implementation here for the IMAGE_FILE_HEADER
solution
Это простой способ сделать с CorFlags . Откройте командную строку Visual Studio и введите «corflags [ваша сборка]». Вы получите что-то вроде этого:
c: \ Program Files (x86) \ Microsoft Visual Studio 9.0 \ VC> corflags "C: \ Windows \ Microsoft.NET \ Framework \ v2.0.50727 \ System .Data.dll "
Инструмент преобразования Microsoft (R) .NET Framework CorFlags . Версия 3.5.21022.8 Авторские права (c) Microsoft Corporation. Все права защищены.
Версия: v2.0.50727 Заголовок CLR: 2.5 PE: PE32 CorFlags: 24 ILONLY: 0 32BIT: 0 { {1}} Подпись: 1
Вы смотрите конкретно на PE и 32BIT.
Любой ЦП :
PE: PE32
32BIT: 0
x86 :
PE: PE32
32BIT: 1
x64:
PE: PE32 +
32BIT: 0