js获取HTML5 多文件file选择的数量

js获取HTML5 多文件file选择的数量,第1张

<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 里面对于文件上传有了极大的增强,曾几何时,当我们需要实现一个多文件双传功能,必须一次指定多个<input

type="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

    }

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/7076436.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-01
下一篇 2023-04-01

发表评论

登录后才能评论

评论列表(0条)

保存