湖上湖
2023-11-12 14:57:06
我想按文件名稱對文件進行排序,然后處理下一個代碼。以下是我上傳的文件名: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++; }我嘗試了以下解決方案但不起作用。
2 回答

青春有我
TA貢獻1784條經(jīng)驗 獲得超8個贊
從圖像名稱中獲取數(shù)字并將該數(shù)字用作框值。
$.each(this.files, function (i, v) {
var tno = 0;
var parts = v.name.split("-");
var result = parts[parts.length - 1];
var tno = result.toString().split(".")[0];
var x=1;//parseInt(count)+parseInt(i)+parseInt(1);
var xx = 1;
if(tno>0) x = tno;
else x = xx;
x++;
xx++;
]);

牛魔王的故事
TA貢獻1830條經(jīng)驗 獲得超3個贊
首先,仔細檢查這this.files
不是文件接口數(shù)組(https://developer.mozilla.org/en-US/docs/Web/API/File)
如果是這種情況,您必須像這樣映射文件名:
var filenames = this.files.map(x => x.name);
至于對字符串?dāng)?shù)組進行排序:
var ascending = (a, b) => a > b ? 1 : -1; filenames.sort(ascending); // console.log(filenames);
添加回答
舉報
0/150
提交
取消