Я новичок в разработке, я хочу загрузить изображение на страницу html. Я использую этот код.
<form name="myWebForm" action="mailto:[email protected]" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="500" />
<input type="file" name="uploadField" />
</form>
мой вопрос: как мы можем загружать изображение в html или просматривать изображение?
Я получил свой Ans:
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript">
var thumbWidth = 400, thumbHeight =455 ;
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$('#blah')
.attr('src', e.target.result)
.width(thumbWidth)
.height(thumbHeight);
};
reader.readAsDataURL(input.files[0]);
}
}
</script>
<link class="jsbin" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1/themes/base/jquery-ui.css" rel="stylesheet" type="text/css" />
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
<script class="jsbin" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.0/jquery-ui.min.js"></script>
<meta charset=utf-8 />
<title>JS Bin</title>
<!--[if IE]>
<script src="http://html5shiv.googlecode.com/svn/trunk/html5.js"></script>
<![endif]-->
<style>
article, aside, figure, footer, header, hgroup,
menu, nav, section { display: block; }
</style>
</head>
<body>
<input type='file' onchange="readURL(this);" />
<img id="blah" src="#" alt="your image" />
</body>
</html>
Более или менее это то, как вы это делаете в Javascript:
var filesList = document.getElementById("uploadField");
fileList.onchange = function(e){
var file = e.target.files; // The file object may contain multiple files
data = new FormData();
data.append("nameOfFile",file[0]); // Here i send the 1st file
xhr = new XMLHttpRequest();
xhr.open("post", "UploadFile.php", true);
xhr.send(data);
}
Вот ссылка с хорошим примером использования API файлов HTML5: http://www.html5rocks.com/en/tutorials/file/dndfiles/
В вашем примере вы отправляете ссылку на mailto. Formdata необходимо отправить на сервер, который обрабатывает ваш запрос. Это может быть любой язык программирования, например php, python, perl,.net и т.д.
Когда ваша страница сервера получает запрос на отправку, она может обрабатывать "почтовые данные". Здесь вы программируете, что сервер должен делать с данными, которые вы отправляете. Это может быть, например, хранение в базе данных, хранение на жестком диске или отправка электронной почты с прикрепленным изображением и т.д.
Вот простой пример:
HTML, например index.html
action="action.php"
относится к файлу на сервере, который обрабатывает вашу запись
<form action="action.php" method="post" enctype="multipart/form-data">
<input name="uploadedfile" type="file" />
<input type="submit" />
</form>
PHP, например action.php
Массив $_FILES
- это где PHP хранит всю информацию о файлах вашей формы.
move_uploaded_file($_FILES['uploadedfile']['tmp_name'], '/upload_files/myimage.jpg');
Это перемещает опубликованный файл в /upload_files/myimage.jpg на сервере harddsik
см. http://php.net/manual/en/function.move-uploaded-file.php