[問題] 取得input file的內容
各位好
我先描述一下我的問題
簡單來說我有一個form,裡面有各式各樣的input
但我submit時不是用browser預設的form.submit()方式
而是透過Ajax把form序列化後用post送出
大概長這樣
var j_form = $("#myform");
$.post("/xx/yy/zz/", j_form.serialize(), function(data){
........
});
在input中沒有file時這一切非常的美好,天下太平
即便在有file時,我用Firefox也可以做處理
方法很笨,不過堪用,就是Firefox input file DOM中的getAsText method
將client上傳的檔案內容讀入一個隱藏的input再送出,如下
var j_file = $("#myfile");
var j_input = $("<input type='hidden' name='myfile_s' />");
j_input.val(j_file.get(0).files[0].getAsText("utf-8")).appendTo(j_form);
$.post(.....同上.....);
因為檔案內容都是文字,所以沒問題
但是Chrome和IE就不能用這招了,因為沒提供這個getAsText這個method
我想問的就是Chrome和IE有沒有類似Firefox這種method,可以取出檔案內容
看了一下Chrome好像只能取得file name跟file size
若無,有沒有人有更好的方法用Ajax的方式上傳檔案
希望一個form所有要送的input(包括type=file的)可以在同一個request中完成
以上 感謝你看完
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 118.160.15.87
推
11/30 00:57, , 1F
11/30 00:57, 1F
推
11/30 01:01, , 2F
11/30 01:01, 2F
→
12/01 17:17, , 3F
12/01 17:17, 3F
→
12/01 17:18, , 4F
12/01 17:18, 4F
→
12/01 19:32, , 5F
12/01 19:32, 5F
Ajax 近期熱門文章
PTT數位生活區 即時熱門文章