js php xmlrequest 上传图片

本来想用插件上传图片的,后来自己写了一个简单的js实现异步的图片上传,不多说上代码很easy

upload.php

<?php

if(isset($_FILES["myfile"]))

{

$ret = array();

$uploadDir = ‘images‘.DIRECTORY_SEPARATOR.date("Ymd").DIRECTORY_SEPARATOR;

$dir = dirname(__FILE__).DIRECTORY_SEPARATOR.$uploadDir;

file_exists($dir) || (mkdir($dir,0777,true) && chmod($dir,0777));

if(!is_array($_FILES["myfile"]["name"])) //single file

{

$fileName = time().uniqid().‘.‘.pathinfo($_FILES["myfile"]["name"])[‘extension‘];

move_uploaded_file($_FILES["myfile"]["tmp_name"],$dir.$fileName);

$ret[‘file‘] = DIRECTORY_SEPARATOR.$uploadDir.$fileName;

}

echo json_encode($ret);

}

?>

index.html

<!DOCTYPE html>

<html>

<head>

<title>Html5 Ajax 上传文件</title>

<meta charset="utf-8">

<script type="text/javascript">

var xhr;

function createXMLHttpRequest()

{

if(window.ActiveXObject)

{

xhr = new ActiveXObject("Microsoft.XMLHTTP");

}

else if(window.XMLHttpRequest)

{

xhr = new XMLHttpRequest();

}

}

function UpladFile()

{

var fileObj = document.getElementById("file").files[0];

var FileController = ‘upload.php‘;

var form = new FormData();

form.append("myfile", fileObj);

createXMLHttpRequest();

xhr.onreadystatechange = handleStateChange;

xhr.open("post", FileController, true);

xhr.send(form);

}

function handleStateChange()

{

if(xhr.readyState == 4)

{

if (xhr.status == 200 || xhr.status == 0)

{

var result = xhr.responseText;

var json = eval("(" + result + ")");

alert(‘图片链接:\n‘+json.file);

}

}

}

</script>

<style>

.txt{ height:28px; border:1px solid #cdcdcd; width:670px;}

.mybtn{ background-color:#FFF; line-height:14px;vertical-align:middle;border:1px solid #CDCDCD;height:30px; width:70px;}

.file{ position:absolute; top:0; right:80px; height:24px; filter:alpha(opacity:0);opacity: 0;width:260px }

</style>

</head>

<body>

<div class="form-group">

<label class="control-label">图片</label>

<br/>

<input type=‘text‘ name=‘textfield‘ id=‘textfield‘ class=‘txt‘ />

<span onclick="file.click()"  class="mybtn">浏览...</span>

<input type="file" name="file" class="file" id="file" size="28" onchange="document.getElementById(‘textfield‘).value=this.value" />

<span onclick="UpladFile()" class="mybtn">上传</span>

</div>

</body>

</html>

时间: 2024-10-13 21:16:40

js php xmlrequest 上传图片的相关文章

js无刷新上传图片,服务端有生成缩略图,剪切图片,iphone图片旋转判断功能

html: <form action="<{:AppLink('circle/uploadimg')}>" id="imageform" method="post" enctype="multipart/form-data">     <input name="photoimg" type="file" id="xwzx_f" style

Asp.Net MVC 中JS通过ajaxfileupload上传图片获取身份证姓名、生日、家庭住址等详细信息

客户要求用身份证图片上传获取身份证的详细信息就下来研究了一下(现在的客户真的懒 身份证信息都懒得输入了哈哈...),经过慢慢研究,果然皇天不负有心人搞出来了.这个借助的是腾讯的一个SKD  腾讯优图云人脸服务TencentYoutuYun.SDK.Csharp 这个DLL文件从github下载dll文件,并添加到你项目引用里,本sdk依赖Newtonsoft.Json,也需一起引用. 1.主要用到里面的一个封装类:OCR,现在来看一下里面的参数信息 PlanRegGuest_OCR这个类就封装了

js获取input上传图片装换为base64格式图片

<input name="upimage" id="upload_file" type="file"> <img src="/img/touxiang.jpg" id="showImage" ><br /><br /> <script src="http://libs.baidu.com/jquery/2.0.0/jquery.min.js&q

Js实现input上传图片并显示缩略图

用这个方法就可以很方便快捷的实现上传图片并显示缩略图的效果: FileReader 的 readAsDataURL() 先创建一个img标签,再用 fileReader 把input文件的赋值到img的src即可 具体代码如下: function previewFile() { var preview = document.querySelector('img'); var file = document.querySelector('input[type=file]').files[0]; v

node.js 通过post上传图片并显示

首先编写最底层的请求处理程序requestHandler.js,首先要通过npm在项目所在的目录安装formidable,通过语句:npm install formidable安装,然后代码如下: var querystring = require("querystring");var fs = require("fs");var formidable = require("formidable"); function start(respons

js 预处理用户上传图片

前几个月闲得无聊写得一段代码,没想最近刚好用上了,在硬盘里翻了半天找回来,还没好好整理直接用上了图片会处理成PNG,比jpg 大很多,最好判断一下用户上传的图片size 大到一定程度再决定是否使用该方法最长边800*600像素的PNG一般在1M左右大的 jpg 转换成尺寸小一点的图片可以一用,比如用户拍照上传的图片一般都在1M 到4M 之间,如果只是用作头像尺寸就可以缩小很多,1M甚至几M的图转换成几百K. <!doctype html> <html> <head> &

js预览上传图片

<!DOCTYPE html> <html> <head> <meta http-equiv="Content-Type" content="text/html;charset=utf-8" /> <style type="text/css"> #preview, .img, img { width: 200px; height: 200px; } #preview { border:

Simditor上传图片(ASP.NET+JS/Jquery)

Simditor是我比较喜欢的富文本编辑器,他比较简洁,配置也很简单,Simditor官网都有,就不多说了.但是,他的那个图片上传图片没有反应,百度了一下,都是这个Java版的Simditor图片上传.看了下改成.NET也不知道用不用得成,索性自己写一个.那要怎么写呢? 1.首先按照官网配置 //富文本编辑器配置 var editor = new Simditor({ textarea: $('#<%=tb_Content.ClientID%>'), upload: { url: '../Up

封装的一套简单轻量级JS 类库(RapidDevelopmentFramework.JS)

1.最近好久没有更新自己的博客了,一直在考虑自己应该写一些什么.4.2日从苏州回到南京的路上感觉自己的内心些崩溃和失落,我就不多说了? 猛然之间我认为自己需要找一下内心的平衡.决定开发属于自己一套快速开发的JS 框架.因为早前也一直想开发一套快速的JS 框架,但是种种原因一直没用突破点也就不了了之了,开发这套JS 的框架主要是为了方便自己使用以,及其他开发人员的使用.通用的功能包主要括JS 的校验 上传图片 视频 语音  以分页 时间插件的选择 和ajax 请求以及其他的第三方的插件的混合使用等