Приложение React отправляет запрос на получение данных при нажатии кнопки. Эта кнопка добавляет информацию к яблочному проходу, чтобы ее можно было сохранить в яблочном кошельке. Функция Wallet делает запрос в сервис.
Wallet: function () {
request.post('http://localhost:62666/api/pass')
.set('Content-type', 'application/json')
.send({ Name: this.state.results.name,
Status: this.state.results.status,
id: this.state.results.id,
Photo: this.state.results.photo,
Qr: this.state.results.qr
})
.then(function(data){
console.log("success", data);
console.log("text >>>", data.text);
// store.set("text.pass", data.text);
})
.catch(function(err){
console.log("error", err);
});
},
componentDidMount: function() {
request.action("GetINFORMATION", true).end((err, r) => {
//console.log(r);
..........................
else if (r) {
//console.log("r.body ==", r.body);
if (r.body.d.Photo){
card = {
id: r.body.d.id,
name: r.body.d.Name,
status: r.body.d.Status,
advancedstatus: r.body.d.AdvancedStatus,
photo: btoa(String.fromCharCode(...new Uint8Array(r.body.d.Photo))),
qr: btoa(String.fromCharCode(...new Uint8Array(r.body.d.QR)))
};
}
....................
Контроллер C # - метод POST. Этот метод получает эти данные из запроса в JS. Мне нужна помощь, чтобы преобразовать строку в эскиз. Я пытался использовать растровое изображение.
public IHttpActionResult Post([FromBody] Models.Pass input)
{
........
//request.Name = Name.NameValue;
request.nameValue = input.Name;
request.affiliationValue = input.Status;
request.IdValue = input.ID;
// pass photo and qr
request.photoValue = input.Photo;
request.qrValue = input.Qr;
id = request.IdValue;
//Convert photo from string to bitmap
byte[] bytes = Convert.FromBase64String(Photo);
using (MemoryStream ms = new MemoryStream(bytes))
{
Bitmap thumb = new Bitmap(90, 90);
using (Image bmp = Image.FromStream(ms))
{
using (Graphics g = Graphics.FromImage(thumb))
{
g.InterpolationMode = InterpolationMode.HighQualityBicubic;
g.CompositingQuality = CompositingQuality.HighQuality;
g.SmoothingMode = SmoothingMode.HighQuality;
//g.DrawImage(bmp, 0, 0, 100, 100);
}
}
...........
}
.......
}