<form onsubmit="return fileCountCheck(this)">
<input type="file" name="mulUp[]" multiple="multiple" required="required" />
<input type="submit" />
</form>
<script type="text/javascript">
function fileCountCheck(objForm){
if (window.File && window.FileList) {
var fileCount = objForm["mulUp[]"].files.length
if(fileCount > 10){
window.alert('文件数不能超过10个,你选择了' + fileCount + '个')
}
else {
window.alert('符合规定')
}
}
else {
window.alert('抱歉,你的浏览器不支持FileAPI,请升级浏览器!')
}
return false
}
</script>
扩展资料:java获取路径,文件名的方法总结
1、文件路径获取
Thread.currentThread().getContextClassLoader().getResource(“”) //获得资源文件(.class文件)所在路径
ClassLoader.getSystemResource(“”)
ClassName.class.getClassLoader().getResource(“”)
ClassName.class .getResource(“/”)
ClassName.class .getResource(“”) // 获得当前类所在路径
System.getProperty(“user.dir”) // 获得项目根目录的绝对路径
System.getProperty(“java.class.path”) //得到类路径和包路径
其中ClassName为类名。
2、文件名获取
String fName =” D:\java\workspace\netmanager01\resources\mibfiles\wtView.mib “
(“\”,java中需要转义)
第一种:
File tempFile =new File( fName .trim())
String fileName = tempFile.getName()
第二种:
fName = fName.trim()
fileName = fName.substring(fName.lastIndexOf("/")+1)
或者
fileName = fName.substring(fName.lastIndexOf("\\")+1)
第三种:
fName = fName.trim()
String temp[] = fName.split("\\\\")//split里面必须是正则表达式,"\\"的作用是对字符串转义,其中split("\\\\")的作用是:按照"\\"为分隔符,将路径截取,并存入数组,如下:temp[]=[,D:,java,workspace,netmanager01,resources,mibfiles,wtView.mib]
fileName = temp[temp.length-1](取出最后一个)
HTML5 里面对于文件上传有了极大的增强,曾几何时,当我们需要实现一个多文件双传功能,必须一次指定多个<inputtype="file>,如果要上传10个文件就必须指定10行,因为HTML4 里面,所有的<input
type="file>只支持单个文件选择、
但是在HTML5里面,可以给<input type="file">加上一个multiple属性,这样这个空间就直接支持多文件上传了.废话不多说,献上代码:
1. <!DOCTYPE html>
2. <head>
3. <meta charset="UTF-8">
4. <title>HTML5 对于多文件选择的增强Demo</title>
5. <script type="text/javascript" src="js/fileops.js"></script>
6. </head>
7.
8. <p>multiple文件选择 FileList Demo:</p>
9. 选择文件:
10. <input type="file" id="multifile" multiple size="80"/>
11. <input type="button" onclick="showFileName()" value="文件上传" />
当点击button时候,会触发showFileName()方法,这里将遍历所有被选择的文件,并且依次打印出它们的文件名:
1. /**
2. * This file is confidential by Charles.Wang
3. * Copyright belongs to Charles.wang
4. * You can make contact with Charles.Wang (charles_wang888@126.com)
5. */
6.
7. function showFileName(){
8.
9. console.log(" FileList Demo:")
10. var file
11. //取得FileList取得的file集合
12. for(var i = 0 i<document.getElementById("multifile").files.lengthi++){
13. //file对象为用户选择的某一个文件
14. file=document.getElementById("multifile").files[i]
15. //此时取出这个文件进行处理,这里只是显示文件名
16. console.log(file.name)
17.
18. }
19. }
然后当点击“选择文件”按钮时,则会d出一个对话框,让你选择,这时候,你可以按住Ctrl键并且点击鼠标左键点住你想要的文件,从而进行多文件选择。
给你个图片处理的类吧,图片剪裁处理后,也就等于将图片压缩了。
/*** 图像处理类
* ============================================================================
* Copyright 2014 大秦科技,并保留所有权利。
* 网站地址: http://www.qintech.net;
* ============================================================================
*/
class Image{
//生成缩略图的方式
public $thumbType
//缩略图的宽度
public $thumbWidth
//缩略图的高度
public $thumbHeight
//生成缩略图文件名后缀
public $thumbEndFix
//缩略图文件前缀
public $thumbPreFix
/**
* 构造函数
*/
public function __construct(){
$this->thumbType = 1
$this->thumbWidth = 120
$this->thumbHeight = 60
$this->thumbPreFix =''
$this->thumbEndFix = '_thumb'
}
/**
* 检测是否为图像文件
* @param $img 图像
* @return bool
*/
private function check($img){
$type = array(".jpg", ".jpeg", ".png", ".gif")
$imgType = strtolower(strrchr($img, '.'))
return extension_loaded('gd') && file_exists($img) && in_array($imgType, $type)
}
/**
* 获得缩略图的尺寸信息
* @param $imgWidth 原图宽度
* @param $imgHeight 原图高度
* @param $thumbWidth 缩略图宽度
* @param $thumbHeight 缩略图的高度
* @param $thumbType 处理方式
* 1 固定宽度 高度自增 2固定高度 宽度自增 3固定宽度 高度裁切
* 4 固定高度 宽度裁切 5缩放最大边 原图不裁切
* @return mixed
*/
private function thumbSize($imgWidth, $imgHeight, $thumbWidth, $thumbHeight, $thumbType){
//初始化缩略图尺寸
$w = $thumbWidth
$h = $thumbHeight
//初始化原图尺寸
$cuthumbWidth = $imgWidth
$cuthumbHeight = $imgHeight
switch ($thumbType) {
case 1 :
//固定宽度 高度自增
$h = $thumbWidth / $imgWidth * $imgHeight
break
case 2 :
//固定高度 宽度自增
$w = $thumbHeight / $imgHeight * $imgWidth
break
case 3 :
//固定宽度 高度裁切
$cuthumbHeight = $imgWidth / $thumbWidth * $thumbHeight
break
case 4 :
//固定高度 宽度裁切
$cuthumbWidth = $imgHeight / $thumbHeight * $thumbWidth
break
case 5 :
//缩放最大边 原图不裁切
if (($imgWidth / $thumbWidth) > ($imgHeight / $thumbHeight)) {
$h = $thumbWidth / $imgWidth * $imgHeight
} elseif (($imgWidth / $thumbWidth) < ($imgHeight / $thumbHeight)) {
$w = $thumbHeight / $imgHeight * $imgWidth
} else {
$w = $thumbWidth
$h = $thumbHeight
}
break
default:
//缩略图尺寸不变,自动裁切图片
if (($imgHeight / $thumbHeight) < ($imgWidth / $thumbWidth)) {
$cuthumbWidth = $imgHeight / $thumbHeight * $thumbWidth
} elseif (($imgHeight / $thumbHeight) > ($imgWidth / $thumbWidth)) {
$cuthumbHeight = $imgWidth / $thumbWidth * $thumbHeight
}
// }
}
$arr [0] = $w
$arr [1] = $h
$arr [2] = $cuthumbWidth
$arr [3] = $cuthumbHeight
return $arr
}
/**
* 图片裁切处理
* @param $img 原图
* @param string $outFile 另存文件名
* @param string $thumbWidth 缩略图宽度
* @param string $thumbHeight 缩略图高度
* @param string $thumbType 裁切图片的方式
* 1 固定宽度 高度自增 2固定高度 宽度自增 3固定宽度 高度裁切
* 4 固定高度 宽度裁切 5缩放最大边 原图不裁切 6缩略图尺寸不变,自动裁切最大边
* @return bool|string
*/
public function thumb($img, $outFile = '', $thumbWidth = '', $thumbHeight = '', $thumbType = ''){
if (!$this->check($img)) {
return false
}
//基础配置
$thumbType = $thumbType ? $thumbType : $this->thumbType
$thumbWidth = $thumbWidth ? $thumbWidth : $this->thumbWidth
$thumbHeight = $thumbHeight ? $thumbHeight : $this->thumbHeight
//获得图像信息
$imgInfo = getimagesize($img)
$imgWidth = $imgInfo [0]
$imgHeight = $imgInfo [1]
$imgType = image_type_to_extension($imgInfo [2])
//获得相关尺寸
$thumb_size = $this->thumbSize($imgWidth, $imgHeight, $thumbWidth, $thumbHeight, $thumbType)
//原始图像资源
$func = "imagecreatefrom" . substr($imgType, 1)
$resImg = $func($img)
//缩略图的资源
if ($imgType == '.gif') {
$res_thumb = imagecreate($thumb_size [0], $thumb_size [1])
$color = imagecolorallocate($res_thumb, 255, 0, 0)
} else {
$res_thumb = imagecreatetruecolor($thumb_size [0], $thumb_size [1])
imagealphablending($res_thumb, false) //关闭混色
imagesavealpha($res_thumb, true) //储存透明通道
}
//绘制缩略图X
if (function_exists("imagecopyresampled")) {
imagecopyresampled($res_thumb, $resImg, 0, 0, 0, 0, $thumb_size [0], $thumb_size [1], $thumb_size [2], $thumb_size [3])
} else {
imagecopyresized($res_thumb, $resImg, 0, 0, 0, 0, $thumb_size [0], $thumb_size [1], $thumb_size [2], $thumb_size [3])
}
//处理透明色
if ($imgType == '.gif') {
imagecolortransparent($res_thumb, $color)
}
//配置输出文件名
$imgInfo = pathinfo($img)
$outFile = $outFile ? $outFile :dirname($img).'/'. $this->thumbPreFix . $imgInfo['filename'] . $this->thumbEndFix . "." . $imgInfo['extension']
Files::create(dirname($outFile))
$func = "image" . substr($imgType, 1)
$func($res_thumb, $outFile)
if (isset($resImg))
imagedestroy($resImg)
if (isset($res_thumb))
imagedestroy($res_thumb)
return $outFile
}
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)