使用CamFI裝置二次開發,傳輸照片遇到的問題
阿新 • • 發佈:2021-07-09
Q:在ComFi軟體中下載檔案時,一是將檔案轉換為以%2F替換的URL,獲取時檔案會找不到,同時不以%2F替換的url進行獲取資料檔案時,也找不到檔案。
%2F是/ 的轉義字元。
在這裡只能給出解決方案,具體原因筆者也一知半解,只在此記錄:
Step1
在ComFi給出的Demo中,新增配置檔案,方法是 右擊專案->新增->新建項,在Visual C#中選擇 應用程式配置檔案,新建一個配置檔案,寫入內容:(大體意思就是關閉/轉義字元吧)
<?xml version="1.0" encoding="utf-8" ?> <configuration> <uri> <schemeSettings> <add name="http" genericUriParserOptions="DontUnescapePathDotsAndSlashes" /> </schemeSettings> </uri> </configuration>
Step2
接下來在ConFI 的Demo 中,直接修改file_added事件的響應函式即可,函式實現了將相機拍攝的照片通過ComFi裝置傳輸到電腦上。
socket.On("file_added", new Action<object>((filename) => { string name = filename.ToString(); MessageBox.Show("File add:" + name); name = System.Web.HttpUtility.UrlEncode(name, System.Text.Encoding.GetEncoding("UTF-8")); req = new RestRequest("/raw/" + name); req.Credentials = new NetworkCredential("CamFi", ""); req.Method = Method.GET; res = (RestResponse)client.Execute(req); MemoryStream ms = new MemoryStream(res.RawBytes); FileStream fs = new FileStream("D:\\img\\1.jpg",FileMode.Create); ms.WriteTo(fs); ms.Close(); fs.Close(); }));
照片結果: