hmmmm, myślę, że istnieje dużo skuteczny sposób, aby zrobić to specjalnie dla ludzi, którzy chcą kierować reklamy na wszystkie przeglądarki, a nie tylko przeglądarki obsługujące FormData
pomysł, aby ukryć ramkę IFRAME na stronie i wykonać normalne przesyłanie dla przykładu From inside IFrame
<FORM action='save_upload.php' method=post
enctype='multipart/form-data' target=hidden_upload>
<DIV><input
type=file name='upload_scn' class=file_upload></DIV>
<INPUT
type=submit name=submit value=Upload /> <IFRAME id=hidden_upload
name=hidden_upload src='' onLoad='uploadDone("hidden_upload")'
style='width:0;height:0;border:0px solid #fff'></IFRAME>
</FORM>
Najważniejsze, aby celem formularza było ukryte ID iframe lub nazwa
i zakodowanie multipart / form-data, aby umożliwić akceptowanie zdjęć
strona javascript
function getFrameByName(name) {
for (var i = 0; i < frames.length; i++)
if (frames[i].name == name)
return frames[i];
return null;
}
function uploadDone(name) {
var frame = getFrameByName(name);
if (frame) {
ret = frame.document.getElementsByTagName("body")[0].innerHTML;
if (ret.length) {
var json = JSON.parse(ret);
}
}
}
Przykład po stronie serwera PHP
<?php
$target_filepath = "/tmp/" . basename($_FILES['upload_scn']['name']);
if (move_uploaded_file($_FILES['upload_scn']['tmp_name'], $target_filepath)) {
$result = ....
}
echo json_encode($result);
?>