FineUploader'ı bir asp.NET MVC5 uygulamasında kullanmaya çalışıyorum. FineUploader'ı kullanarak bir dosyayı yüklemeye çalıştığımda, Denetleyicimde, temel 64 kodlu belgeyi imzalayan ve daha sonra belgeleri belgelere göre bir JSON nesnesi olarak döndüren ilke belgesini Base64 yapıyorum. Ancak, denetleyiciyi JSON:FineUploader - JSON Yanıtıyla Hata - "Yanıt base64 kodlu ilkesini içermez!"
döndürdükten sonra sayfamda aşağıdaki hatayı alıyorum: "Yanıt base64 kodlanmış ilkesini içermiyor!"
JSON yükümün biçimlendirilmesinde bir sorun olması gerekir. İşte kod göreceli kısmı:
byte[] byteArrayPolicy = System.Text.Encoding.UTF8.GetBytes(jsonStringFull);
string base64Policy = Convert.ToBase64String(byteArrayPolicy);
var signature = kha.ComputeHash(Encoding.UTF8.GetBytes(base64Policy));
var signatureString = ToHexString(signature, true);
string payloadString = @"{ ""policy"":""" + base64Policy + @"""," + @"""signature"":""" + signatureString + @"""}";
JsonResult jsonRequest = Json(payloadString);
return jsonRequest;
Ben dönüyorum JSON nesnesinin biçimlendirme ile yanlış bir şey var mı? İlke, FineUploader'dan aldığım ilkenin tam bir kopyasıdır, yalnızca Base64 kodlanmış olur. İmza bir hex dizgisidir. "..." Base64 ilkesinde kısalık için oldu
"{ \"policy\":\"eyJleH...=\",\"signature\":\"da186a017b038382e2cc21dfa4f1fbf806c51adf92984a9b95f1aa845aeb72e4\"}"
Not: Burada neyi yükü bir örneğidir benziyor.
Aldığım hata yanıtın Base64 kodlanmış ilkesini içermediğini, ancak bana Base64 kodlanmış ilkesini içerdiğini belirtti. İmzamın yanlış olması mümkün mü? İmzayı bir bayt dizisi olarak hesapladıktan sonra bir hex dizesine dönüştürülmez mi?
İşte Chrome göre, fiili paypload geçerli:
"{ \"policy\":\"eyJleHBpcmF0aW9uIjoiMjAxNi0wNC0xNFQxNDo0MzozMS4zOTZaIiwiY29uZGl0aW9ucyI6W3siYWNsIjoicHJpdmF0ZSJ9LHsiYnVja2V0IjoiZnVuZHRoZWZ1bmVyYWwifSx7IkNvbnRlbnQtVHlwZSI6ImltYWdlL2pwZWcifSx7InN1Y2Nlc3NfYWN0aW9uX3N0YXR1cyI6IjIwMCJ9LHsieC1hbXotYWxnb3JpdGhtIjoiQVdTNC1ITUFDLVNIQTI1NiJ9LHsia2V5IjoiNGZkOGIzMDMtMmQ3Zi00MWJlLThiYWItYzUyMjBiNmRlMjQ1LmpwZyJ9LHsieC1hbXotY3JlZGVudGlhbCI6IkFLSUFKUkhDU09STExFUkpVMkVBLzIwMTYwNDE0L3VzLWVhc3QtMS9zMy9hd3M0X3JlcXVlc3QifSx7IngtYW16LWRhdGUiOiIyMDE2MDQxNFQxNDM4MzFaIn0seyJ4LWFtei1tZXRhLXFxZmlsZW5hbWUiOiIyMDE2LTAzLTI0LmpwZyJ9XX0=\",\"signature\":\"c592b3bca0dedba10301e06df37760cb527ac0a83112ae9b668dce00f0b23465\"}"
Bunun neden geçerli JSON olduğunu belirleyemiyorum. Anladığım kadarıyla belgede belirtilen biçimde. - http://docs.fineuploader.com/endpoint_handlers/amazon-s3.html – jjspierx