回答編集履歴

1

追記

2017/12/21 04:26

投稿

yambejp
yambejp

スコア114769

test CHANGED
@@ -61,3 +61,87 @@
61
61
 
62
62
 
63
63
  ```
64
+
65
+
66
+
67
+ # 追記
68
+
69
+ 状況がいまいちまだわからないのですが
70
+
71
+ formdataをつかってajaxでpostしてるんですからfilereaderを使う意義がありません
72
+
73
+ 同じデータをダブルで送ることになりませんか?
74
+
75
+
76
+
77
+ ```javascript
78
+
79
+ $(function(){
80
+
81
+ $('#exec').on('click',function() {
82
+
83
+ var form = $("form#imageform");
84
+
85
+ var formData = new FormData( $(form).get(0) );
86
+
87
+ var file = $('#image').prop('files')[0];
88
+
89
+ var reader = new FileReader();
90
+
91
+ var reg=new RegExp("image.*");
92
+
93
+ if(!file.type.match(reg)) return false;
94
+
95
+ reader.onload=function(e){
96
+
97
+ formData.append("userfile", new Blob([reader.result],{"type":file.type}),file.name );
98
+
99
+ $.ajax({
100
+
101
+ url: $(form).attr('action'),
102
+
103
+ type: 'post',
104
+
105
+ data: formData,
106
+
107
+ processData: false,
108
+
109
+ contentType: false,
110
+
111
+ }).done(function(data) {
112
+
113
+ $('#result').html(data);
114
+
115
+ }).fail(function(xhr,err) {
116
+
117
+ alert(err);
118
+
119
+ });
120
+
121
+ };
122
+
123
+ reader.readAsArrayBuffer(file);
124
+
125
+ });
126
+
127
+ });
128
+
129
+
130
+
131
+ ```
132
+
133
+ ```HTML
134
+
135
+ <form class='ajax_submit' method="post" action="y.php" id="imageform" enctype="multipart/form-data">
136
+
137
+ <input type="file" id="image" name="image" accept="image/*">
138
+
139
+ </form>
140
+
141
+ <div id="exec">button</div>
142
+
143
+ <div id="result"></div>
144
+
145
+
146
+
147
+ ```