我们如何在html中上传图片

时间:2013-12-13 12:03:25

标签: javascript jquery html

我是设计新手,我想在html页面上传图片。我正在使用此代码。

<form name="myWebForm" action="mailto:youremail@email.com" method="post">
<input type="hidden" name="MAX_FILE_SIZE" value="500" />
<input type="file" name="uploadField" />
</form>

我的问题是:我们如何以html格式上传图片或浏览图片?

3 个答案:

答案 0 :(得分:0)

或多或少这是你在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);
    }

这是一个链接,其中包含一个如何使用HTML5文件API的好例子: http://www.html5rocks.com/en/tutorials/file/dndfiles/

答案 1 :(得分:0)

我得到了我的答案:

<!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>

答案 2 :(得分:-1)

在您的示例中,您要发布到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');

这会将发布的文件移动到服务器harddsik上的/upload_files/myimage.jpg

请参阅http://php.net/manual/en/function.move-uploaded-file.php