-
html如何上传图片
- 时间:2024-11-23 16:19:38
大家好,今天Win10系统之家小编给大家分享「html如何上传图片」的知识,如果能碰巧解决你现在面临的问题,记得收藏本站或分享给你的好友们哟~,现在开始吧!
1.web前端上传图片的几种方法
下面给你介绍3种web前端上传图片的方法:
1.表单上传
最传统的图片上传方式是form表单上传,使用form表单的input[type=”file”]控件,打开系统的文件选择对话框,从而达到选择文件并上传的目的。
form表单上传
表单上传需要注意以下几点:
(1).提供form表单,method必须是post。
(2).form表单的enctype必须是multipart/form-data。
(3).提供input type="file"上传输入域。
2.ajax上传
ajax和FormData可实现页面无刷新的文件上传效果,主要用到了jQuery的ajax()方法和XMLHttpRequest Level 2的
FormData接口。通过FormData对象可以更灵活方便的发送表单数据,因为可以独立于表单使用。如果你把表单的编码类型设置为multipart/form-data ,则通过FormData传输的数据格式和表单通过submit()方法传输的数据格式相同。
ajax无刷新上传
Ajax无刷新上传的方式,本质上与表单上传无异,只是把表单里的内容提出来采用ajax提交,并且由前端决定请求结果回传后的展示结果。
3.各类插件上传
当上传的需求要求可预览、显示上传进度、中断上传过程、大文件分片上传等等,这时传统的表单上传很难实现这些功能,我们可以借助现有插件完成。
如百度上传插件Web Uploader、jQuery图片预览插件imgPreview 、拖拽上传与图像预览插件Dropzone.js等等,大家可根据项目实际需求选择适合的插件。
2.网页上传图片怎么上传
如果是上传百度图片的话
首先你要有百度空间
然后
图片上传步骤为:
【步骤一】准备图片
在上传图片前,您需要在电脑上准备好图片。如果是网上的图片,需要先将图片存到电脑上。
操作为将鼠标移至图片上,点击鼠标右键,选择“图像另存为”,请记住图片的存放路径。
【步骤二】上传图片
图片准备好后,点击提问页面或者回答页面的“上传图片”链接,在弹出的小窗口中点击“浏览”,选择图片后点击“确定”就可以完成图片的上传。
【请注意】
1.二级及以上用户登录后可以上传图片.
2.您只能上传本地电脑中的图片,对于网上的图片,可以先下载到本地,然后再进行上传。
3.可上传的图片格式将限于JPG、GIF、PNG和BMP,最大为3M。
4.为了保证图片在页面的显示效果,百度知道会自动将图片进行等比压缩,所以请尽量选择长宽相近的图片。
5.如果图片与您所提交的内容不相关,将会被删除。
3.html 表单上传图片
使用表单中的文件域(<input type="file".../>)控件可以上传文件。
打开DreamWeaver,这里使用的版本是CS6,新建一个php文件。
保存到网站目录下,命名为upload.php。
在代码中插入一个表单
对话框中,操作留空,方法选择“post”,编码类型输入“multipart/form-data”,名称命名为“upload_form”,其中编码类型必须为“multipart/form-data”。点击确定,产生的代码如下:
<body>
<form action="" method="post" enctype="multipart/form-data" name="upload_form"></form>
</body>
接下来在form中插入一个标签控件、一个文件域控件和一个上传按钮。
结果如下:
<body>
<form action="" method="post" enctype="multipart/form-data" name="upload_form">
<label>选择图片文件</label>
<input name="imgfile" type="file" accept="image/gif, image/jpeg"/>
<input name="upload" type="submit" value="上传" />
</form>
</body>
不同的浏览器,对于文件域控件的显示不同,IE9浏览器和FireFox中的预览效果都要看一下
代码中,重要的是名为imgfile的文件域控件,type属性为“file”,表示这是一个文件域控件。
accept属性表示点击“浏览...”按钮时,弹出的打开对话框中的文件类型。accept="image/gif, image/jpeg"表示我们只想在文件打开对话框中显示后缀名为“gif”和“jpg”、“jpeg”的文件。对于此属性,有些浏览器并不支持。比如在IE9中,此属性不起任何作用。在chrome中,此属性起作用。
如果想支持所有的图像文件,accept值可以设置为“image/*”,在chrome中,文件类型显示
好了,html代码就写完了,因为action="",表示点击上传按钮时,将表单提交给自身,因此,我们还要添加接收表单的处理代码。
代码如下:
<?php
if (isset($_FILES[imgfile])
&& is_uploaded_file($_FILES[imgfile][tmp_name]))
{
$imgFile = $_FILES[imgfile];
$imgFileName = $imgFile[name];
$imgType = $imgFile[type];
$imgSize = $imgFile[size];
$imgTmpFile = $imgFile[tmp_name];
move_uploaded_file($imgTmpFile, upfile/.$imgFileName);
$validType = false;
$upRes = $imgFile[error];
if ($upRes == 0)
{
if ($imgType == image/jpeg
|| $imgType == image/png
|| $imgType == image/gif)
{
$validType = true;
}
if ($validType)
{
$strPrompt = sprintf("文件%s上传成功<br>"
. "文件大小: %s字节<br>"
. "<img src=upfile/%s>"
, $imgFileName, $imgSize, $imgFileName
);
echo $strPrompt;
}
}
}
?>
代码分析:
$_FILES是一个数组变量,用于保存上传后的文件信息。
$_FILES[imgfile]表示文件域名称为imgfile的控件提交服务器后,上传的文件的信息。
一个上传的文件,有以下属性信息:
name: 上传的文件在客户端的名称。
type: 文件的 MIME 类型,例如"image/jpeg"。
size: 已上传文件的大小,单位为字节。
tmp_name:上传时,在服务器端,会把上传的文件保存到一个临时文件夹中,可以通过此属性得到临时文件名。
error:文件在上传过程中的错误代码。如果上传成功,此值为0,其它值的意义如下:
1:超过了php.ini中设置的上传文件大小。
2:超过了MAX_FILE_SIZE选项指定的文件大小。
3:文件只有部分被上传。
4:文件未被上传。
5:上传文件大小为0。
代码中首先判断$_FILES[imgfile]变量是否存在,如果存在,并且$_FILES[imgfile][tmp_name]变量所指文件被上传了,判断error属性,如果属性为0,把上传后的图像从临时文件夹移到upfile文件夹中,显示上传文件的信息,并显示上传后的图像。
如果error值不为0,表示上传失败,显示失败信息。
完成的代码如下:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "
<html xmlns="
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>上传图片文件</title>
</head>
<?php
if (isset($_FILES[imgfile])
&& is_uploaded_file($_FILES[imgfile][tmp_name]))
{
$imgFile = $_FILES[imgfile];
$upErr = $imgFile[error];
if ($upErr == 0)
{
$imgType = $imgFile[type]; //文件类型。
/* 判断文件类型,这个例子里仅支持jpg和gif类型的图片文件。*/
if ($imgType == image/jpeg
|| $imgType == image/gif)
{
$imgFileName = $imgFile[name];
$imgSize = $imgFile[size];
$imgTmpFile = $imgFile[tmp_name];
/* 将文件从临时文件夹移到上传文件夹中。*/
move_uploaded_file($imgTmpFile, upfile/.$imgFileName);
/*显示上传后的文件的信息。*/
$strPrompt = sprintf("文件%s上传成功<br>"
. "文件大小: %s字节<br>"
. "<img src=upfile/%s>"
, $imgFileName, $imgSize, $imgFileName
);
echo $strPrompt;
}
else
{
echo "请选择jpg或gif文件,不支持其它类型的文件。";
}
}
else
{
echo "文件上传失败。<br>";
switch ($upErr)
{
case 1:
echo "超过了php.ini中设置的上传文件大小。";
break;
case 2:
echo "超过了MAX_FILE_SIZE选项指定的文件大小。";
break;
case 3:
echo "文件只有部分被上传。";
break;
case 4:
echo "文件未被上传。";
break;
case 5:
echo "上传文件大小为0";
break;
}
}
}
else
{
/*显示表单。*/
?>
<body>
<form action="" method="post" enctype="multipart/form-data" name="upload_form">
<label>选择图片文件</label>
<input name="imgfile" type="file" accept="image/gif, image/jpeg"/>
<input name="upload" type="submit" value="上传" />
</form>
</body>
<?php
}
?>
</html>
以上就是关于「html如何上传图片」的全部内容,本文讲解到这里啦,希望对大家有所帮助。如果你还想了解更多这方面的信息,记得收藏关注本站~
『文②章①来自Win10系统之家www.ghost580.nEt,转载请联系本站网管!』
相关文章
-
1.web前端上传图片的几种方法下面给你介绍3种web前端上传图片的方法:1.表单上传最传统的图片上传方式是form表单上传,使用form表单的input[type=”file”]控件,打开系统的文件选择对话框,从而达到选择文件并上传的目的...
-
1.微信上怎么上传动态图片?1、第一步,登陆微信,从通讯录中选择一个联系人2、选择联系人之后,进入聊天界面,点击加号,出现图片页面,从图片里添加的gif图片,发送出去后,只是图片的形式3、要点击表情后,找到红心,点击加号...
-
1.怎么上传图片到百度百度的图片是用搜索引擎搜索的网上资源.这是一个人为无法干预的过程.如果想让自己的图片显示在百度图片搜索上,建议弄个网页,上面放上图片,等一阵子,也许就被百度收录了.要说明的是,百度自身不...
-
1.word里面的图片怎么替换成其他图片,批量的word里面是不可以批量替换图片的,建议楼主可以批量删除word里面的图片或者水印,然后再批量插入图片和水印。具体操作:1、去除水印或图片:点格式--背景--水印--无水印,没有删...