情景:后臺相關(guān)的只有一個(gè)上傳文件的接口(對方不會再給你寫其它接口了!?。。?,前端上傳什么文件它就把這個(gè)文件存到服務(wù)器。前端通過 ajax 發(fā)送一個(gè) get 請求把服務(wù)器上的一個(gè) data.json文件下載,然后根據(jù)這個(gè) json 文件渲染出相關(guān)的 dom,如果用戶進(jìn)行了相關(guān)操作的話,修改這個(gè)data.json文件,然后再把這個(gè) data.json文件通過上傳文件的接口存回服務(wù)器,以供下次請求下載。我現(xiàn)在面臨的問題:ajax 發(fā)送的 get 請求把data.json 下載下來時(shí)我現(xiàn)在只知道把這個(gè) json 轉(zhuǎn)成字符串或者Object,不知道怎么以文件的形式保存下來還要讀取、操作最后再上傳。瀏覽器上傳文件應(yīng)該是只有通過 input:file 標(biāo)簽讓用戶選中文件后再上傳吧。但現(xiàn)在這個(gè)需求是明顯不可能讓用戶選擇文件再上傳的,而這又不符合瀏覽器的安全策略了(文件不通過用戶的選擇,而是直接用 js 選中上傳)。對方給的兩個(gè)思路是(感覺等于沒說):js 生成系統(tǒng)臨時(shí)文件,加載文件路徑到瀏覽文件的 input,提交文件。ajax發(fā)送 post 請求時(shí)直接附上生成的文件內(nèi)容在這里求各位大佬給點(diǎn)思路,如果不行的話就給點(diǎn)強(qiáng)力的理由反駁對方。在這里先謝謝各位大佬提醒的 Blod,要不都不知道還有這么一個(gè)接口,以后有時(shí)間的話還是要把MDN的api都過一遍的好,不至于一點(diǎn)思路都沒有。隨便把實(shí)現(xiàn)貼一下,其實(shí)了解的話也挺簡單的。相關(guān)文檔: Blob File
問一個(gè)感覺就是搞笑的需求
躍然一笑
2018-12-12 14:15:02