Я преобразую изображение в строку и отправлю его на сервер из ajax, затем, когда я захочу получить его с сервера, я преобразую его в файл, а затем преобразую в URL изображения, поэтому я сделал тест ниже, и это не работает.
поэтому мне нужна ваша помощь
<html>
<head></head>
<body>
<input type="file"/>Please input a "png" image for test<br>
<img src=""/>
<hr>
<button state="working">Working</button>
<button state="notworking">Not Working</button>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script>
$.FileToString = async (File, callback) => {
const reader = new FileReader()
reader.onload = async () => {
callback(await reader.result)
}
reader.readAsText(File)
}
$.StringToFile = (String, type)=>{
return new Blob([String],{type:type})
}
$.FileToUrl = async (File,callback)=>{
const reader = new FileReader()
reader.onload = async ()=>{
callback(await reader.result)
}
reader.readAsDataURL(File)
}
</script>
<script>
$("button[state='notworking']").on("click",()=>{
$.FileToString($("input[type='file']")[0].files[0],(string)=>{
$.FileToUrl($.StringToFile(String,"image/png"),(a)=>($("img")[0].src = a))
})
})
$("button[state='working']").on("click",()=>{
$.FileToUrl($("input[type='file']")[0].files[0],a=>($("img")[0].src = a))
})
</script>
</body>
</html>