teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

1

調整

2019/11/15 09:55

投稿

yambejp
yambejp

スコア117923

answer CHANGED
@@ -4,4 +4,37 @@
4
4
  <div id="img">
5
5
  <!--ここに画像をいれる-->
6
6
  </div>
7
+ ```
8
+
9
+ # 参考
10
+ ```javacscript
11
+ <script>
12
+ window.addEventListener('DOMContentLoaded', ()=>{
13
+ document.querySelector('#up').addEventListener('change',e=>{
14
+ var target=e.target;
15
+ var file=target.files[0];
16
+ if(file !==undefined){
17
+ var fr = new FileReader();
18
+ fr.addEventListener('load',e=>{
19
+ var type=file.type;
20
+ if(["image/jpeg","image/gif","image/png"].indexOf(type)>-1){
21
+ var blob=new Blob([e.target.result],{type});
22
+ var binary=String.fromCharCode.apply("",new Uint8Array(e.target.result));
23
+ var base64="data:"+file.type+";base64,"+btoa(binary);
24
+ var img=Object.assign(document.createElement('img'),{src:base64});
25
+ Object.assign(document.querySelector('#img'),{textContent:""}).appendChild(img);
26
+ }else{
27
+ target.value="";
28
+ document.querySelector('#img').textContent="";
29
+ }
30
+ });
31
+ fr.readAsArrayBuffer(file);
32
+ }
33
+ });
34
+ });
35
+ </script>
36
+ <input type="file" value="up" id="up" accept="image/*">
37
+ <div id="img">
38
+ <!--ここに画像をいれる-->
39
+ </div>
7
40
  ```