→ ssccg: 當然有問題,ToBase64String再FromBase64String不就轉過去 10/18 20:58
→ ssccg: 再轉回來變成什麼都沒做 10/18 20:58
→ ssccg: 應該是把base64 string再轉成byte(ASCII或UTF8都可) 10/18 21:02
byte[] postDataBytes = Encoding.UTF8.GetBytes(postData);
string returnValue = Convert.ToBase64String(postDataBytes);
byte[] ans = Encoding.UTF8.GetBytes(returnValue);
req.Method = "POST";
req.ContentLength = ans.Length;
Stream requestStream = req.GetRequestStream();
requestStream.Write(ans, 0, ans.Length);
HttpWebResponse response = (HttpWebResponse)req.GetResponse();
StreamReader reader = new
StreamReader(response.GetResponseStream());
string returnString = reader.ReadToEnd();
response.Close();
→ ssccg: 或requeststream再包StreamWriter直接傳入base64 string 10/18 21:03
→ ssccg: 另外跟你的問題沒關係,純粹好奇為什麼response能回json 10/18 21:13
→ ssccg: request要把json多轉一次base64? 設計這API是... 10/18 21:15
目前這樣改還是回傳錯誤指令 NOT POST....
卡一整天了 腦袋變得很笨
→ ssccg: 這樣是base64編碼過的utf8編碼的json資料這點是沒問題的 10/18 22:07
→ ssccg: 但是你打的web api的規格是不是這樣,或是有沒有錯在別的地 10/18 22:08
→ ssccg: 方就不能保證了 10/18 22:09
→ Litfal: 你確定web api沒錯?先用postman或fiddler之類的丟丟看吧 10/18 23:26
WEB API沒錯 POSTMAN用過了
我知道錯在哪邊了
string returnValue = Convert.ToBase64String(postDataBytes);
byte[] ans = Encoding.UTF8.GetBytes(returnValue);
這邊多轉一次是腦殘了
string postData = <-這一段其實我早用網頁版的轉成64BASE了
接下來只要轉乘BYTE 就可以丟進REQUEST了
※ 編輯: MOONY135 (114.25.242.194), 10/19/2016 00:11:37
→ ssccg: 我覺得你的問題不是在用程式多轉一次,是先用手動轉... 10/19 09:09
→ MOONY135: 哈 自作孽 10/19 09:40