在 JavaScript 中按文件名称拖放排序

我想按文件名称对文件进行排序,然后处理下一个代码。以下是我上传的文件名:DSC08703-3.jpg、DSC08701-2.jpg、DSC08704-4.jpg


我在下面也提到了一个技巧。


$('#file').change(function () {

        var pic1="";

        var count=1;

        var Allowedimages=0;

        var uploadedcount=0;    

        filesup = event.target.files;

        if (this.files.length > 0) {

            haveToUpload=this.files.length;

            $.each(filenames, function (i, v) {

                var reader = new FileReader();

                remainToUpload = parseInt(haveToUpload)-parseInt(i);

                var proceedImg = remainToUpload;

                reader.onload = function (e) {

                    var img = new Image();

                    img.src = e.target.result;

                    img.onload = function () {

                    var canvas = document.createElement("canvas");

                    var value = 100;

                    var newsize=0;                    


                        var ctx = canvas.getContext("2d");

                        ctx.clearRect(0, 0, canvas.width, canvas.height);

                        canvas.width = img.width;

                        canvas.height = img.height;

                        ctx.drawImage(img, 0, 0, img.width, img.height);

                        var pic1=canvas.toDataURL("image/jpeg",0.80);

                        var x=1;

                        

                        while (x <= 60) {

                            var filebd=$('#fileBD'+x).val();

                            if(filebd==NoImageSrc) {

                               break;

                            }

                            x++;

                        }


我尝试了以下解决方案但不起作用。

湖上湖
浏览 99回答 2
2回答

青春有我

从图像名称中获取数字并将该数字用作框值。$.each(this.files, function (i, v) {&nbsp;var tno = 0;&nbsp;var parts = v.name.split("-");&nbsp;var result = parts[parts.length - 1];&nbsp;var tno = result.toString().split(".")[0];&nbsp; &nbsp; var x=1;//parseInt(count)+parseInt(i)+parseInt(1);&nbsp; &nbsp; var xx = 1;&nbsp; &nbsp; if(tno>0)&nbsp; x = tno;&nbsp; &nbsp; else x = xx;&nbsp; &nbsp; x++;&nbsp; &nbsp; xx++;]);

牛魔王的故事

首先,仔细检查这this.files不是文件接口数组(https://developer.mozilla.org/en-US/docs/Web/API/File)如果是这种情况,您必须像这样映射文件名:var&nbsp;filenames&nbsp;=&nbsp;this.files.map(x&nbsp;=>&nbsp;x.name);至于对字符串数组进行排序:var&nbsp;ascending&nbsp;=&nbsp;(a,&nbsp;b)&nbsp;=>&nbsp;a&nbsp;>&nbsp;b&nbsp;?&nbsp;1&nbsp;:&nbsp;-1; filenames.sort(ascending); //&nbsp;console.log(filenames);
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript