×

html5上传文件java

关于html5上传文件java的信息

admin admin 发表于2023-03-21 15:24:11 浏览80 评论0

抢沙发发表评论

本文目录一览:

请教Java怎样实现跨服务器文件上传

你好!

另一台机器也要有处理文件上传的WEB程序,你可以参考Stream上传插件(支持HTML5和Flash两种方式上传)

Stream 上传插件

Stream 是解决不同浏览器上传文件的插件,是Uploadify的Flash版和Html5版的结合!

Stream 简介

Stream 是根据某网的文件上传插件加工而来,支持不同平台(Windows, Linux, Mac, Android, iOS)下,主流浏览器(IE7+, Chrome, Firefox, Safari, 其他)的上传工作,当然在Html5标准下,还支持文件的断点续传功能,有效解决大文件的Web上传问题!-html5上传文件java

主要特征

1. 源码完全开放,目前有Java、PHP、Perl三种后台语言实现

2. 支持HTML5、Flash两种方式(跨域)上传

3. 多文件一起上传

4. HTML5支持断点续传,拖拽等新特性

5. 兼容性好IE7+, FF3.6+, Chrome*,Safari4+,遨游等主流浏览器

6. 进度条、速度、剩余时间等附属信息

7. `选择文件的按钮`可以自定义

8. 简单的参数配置实现 灵活多变的功能

9. 支持文件夹上传(Chrome21+, Opera15+)

10. 支持自定义UI(V1.4+)

指定跨域上传就可以了

这些都是小鸟云的工程师告诉我的,建议你可以试试小鸟云

java xheditor upload.php怎么改

更改xhEditor 上传文件upload.php

把上传完的图片路径改为 http 路径

?php

/*!

* 注2:本程序特别针对HTML5上传,加入了特殊处理

*/

header('Content-Type: text/html; charset=UTF-8');

//------定义http路径

$url='http://'.$_SERVER['SERVER_NAME'].$_SERVER["REQUEST_URI"];

$dir_url_http=dirname($url).'/';

//-------------------------------------

$inputName='filedata';//表单文件域name

$attachDir='upload';//上传文件保存路径,结尾不要带/

$dirType=1;//1:按天存入目录 2:按月存入目录 3:按扩展名存目录 建议使用按天存

$maxAttachSize=2097152;//最大上传大小,默认是2M

$upExt='txt,rar,zip,jpg,jpeg,gif,png,swf,wmv,avi,wma,mp3,mid';//上传扩展名

$msgType=2;//返回上传参数的格式:1,只返回url,2,返回参数数组

$immediate=isset($_GET['immediate'])?$_GET['immediate']:0;//立即上传模式,仅为演示用

ini_set('date.timezone','Asia/Shanghai');//时区

$err = "";

$msg = "''";

$tempPath=$attachDir.'/'.date("YmdHis").mt_rand(10000,99999).'.tmp';

$localName='';

if(isset($_SERVER['HTTP_CONTENT_DISPOSITION'])preg_match('/attachment;\s+name="(.+?)";\s+filename="(.+?)"/i',$_SERVER['HTTP_CONTENT_DISPOSITION'],$info)){//HTML5上传-html5上传文件java

file_put_contents($tempPath,file_get_contents("php://input"));

$localName=urldecode($info[2]);

}

else{//标准表单式上传

$upfile=@$_FILES[$inputName];

if(!isset($upfile))$err='文件域的name错误';

elseif(!empty($upfile['error'])){

switch($upfile['error'])

{

case '1':

$err = '文件大小超过了php.ini定义的upload_max_filesize值';

break;

case '2':

$err = '文件大小超过了HTML定义的MAX_FILE_SIZE值';

break;

case '3':

$err = '文件上传不完全';

break;

case '4':

$err = '无文件上传';

break;

case '6':

$err = '缺少临时文件夹';

break;

case '7':

$err = '写文件失败';

break;

case '8':

$err = '上传被其它扩展中断';

break;

case '999':

default:

$err = '无有效错误代码';

}

}

elseif(empty($upfile['tmp_name']) || $upfile['tmp_name'] == 'none')$err = '无文件上传';

else{

move_uploaded_file($upfile['tmp_name'],$tempPath);

$localName=$upfile['name'];

}

}

if($err==''){

$fileInfo=pathinfo($localName);

$extension=$fileInfo['extension'];

if(preg_match('/^('.str_replace(',','|',$upExt).')$/i',$extension))

{

$bytes=filesize($tempPath);

if($bytes $maxAttachSize)$err='请不要上传大小超过'.formatBytes($maxAttachSize).'的文件';

else

{

switch($dirType)

{

case 1: $attachSubDir = 'day_'.date('ymd'); break;

case 2: $attachSubDir = 'month_'.date('ym'); break;

case 3: $attachSubDir = 'ext_'.$extension; break;

}

$attachDir = $attachDir.'/'.$attachSubDir;

if(!is_dir($attachDir))

{

@mkdir($attachDir, 0777);

@fclose(fopen($attachDir.'/index.htm', 'w'));

}

PHP_VERSION '4.2.0' mt_srand((double)microtime() * 1000000);

$newFilename=date("YmdHis").mt_rand(1000,9999).'.'.$extension;

$targetPath = $attachDir.'/'.$newFilename;

rename($tempPath,$targetPath);

@chmod($targetPath,0755);

$targetPath=jsonString($targetPath);

if($immediate=='1')$targetPath='!'.$targetPath;

if($msgType==1)$msg="'$targetPath'";

else $msg="{'url':'".$dir_url_http.$targetPath."','localname':'".jsonString($localName)."','id':'1'}";//id参数固定不变,仅供演示,实际项目中可以是数据库ID-html5上传文件java

}

}

else $err='上传文件扩展名必需为:'.$upExt;

@unlink($tempPath);

}

echo "{'err':'".jsonString($err)."','msg':".$msg."}";

function jsonString($str)

{

return preg_replace("/([\\\\\/'])/",'\\\$1',$str);

}

function formatBytes($bytes) {

if($bytes = 1073741824) {

$bytes = round($bytes / 1073741824 * 100) / 100 . 'GB';

} elseif($bytes = 1048576) {

$bytes = round($bytes / 1048576 * 100) / 100 . 'MB';

} elseif($bytes = 1024) {

$bytes = round($bytes / 1024 * 100) / 100 . 'KB';

} else {

$bytes = $bytes . 'Bytes';

}

return $bytes;

}

?

将html5页面上的div转化为图片,然后提交给后台java保存图片到指定路径

div 转化成图片?怎么会有这个要求,很奇怪的,正常来讲,一般是会有将canvas转成图片的。

div转成图片实在没有必要,canvas 是有方法可以直接转换成图片的

function convertCanvasToImage(canvas) {

var image = new Image();

image.src = canvas.toDataURL("image/png");

return image;

}

转换代码如上

怎样用html5实现拖拽上传文件

,首先要判断拖入的文件是否符合要求,包括图片类型、大小等,然后获取本地图片信息,实现预览,最后上传。

$(function(){

...接上部分

var box = document.getElementById('drop_area'); //拖拽区域

box.addEventListener("drop",function(e){

e.preventDefault(); //取消默认浏览器拖拽效果

var fileList = e.dataTransfer.files; //获取文件对象

//检测是否是拖拽文件到页面的操作

if(fileList.length == 0){

return false;

}

//检测文件是不是图片

if(fileList[0].type.indexOf('image') === -1){

alert("您拖的不是图片!");

return false;

}

//拖拉图片到浏览器,可以实现预览功能

var img = window.webkitURL.createObjectURL(fileList[0]);

var filename = fileList[0].name; //图片名称

var filesize = Math.floor((fileList[0].size)/1024);

if(filesize500){

alert("上传大小不能超过500K.");

return false;

}

var str = "img src='"+img+"'p图片名称:"+filename+"/pp大小:"+filesize+"KB/p";

$("#preview").html(str);

//上传

xhr = new XMLHttpRequest();

xhr.open("post", "upload.php", true);

xhr.setRequestHeader("X-Requested-With", "XMLHttpRequest");

var fd = new FormData();

fd.append('mypic', fileList[0]);

xhr.send(fd);

},false);

});