Javascript Dropzone.js未在IOS上上载文件

Javascript Dropzone.js未在IOS上上载文件,javascript,asp.net,dropzone.js,dropzone,Javascript,Asp.net,Dropzone.js,Dropzone,我正在使用dropzone将文件上载到服务器。当用户将文件添加到dropzone时,他们可以选择更改文件名。例如文件将另存为Dog.png,而不是D6282238752Q82.png。 这是我的代码: <script type="text/javascript"> Dropzone.autoDiscover = false; var previewNode = document.querySelector(

我正在使用dropzone将文件上载到服务器。当用户将文件添加到dropzone时,他们可以选择更改文件名。例如文件将另存为Dog.png,而不是D6282238752Q82.png。 这是我的代码:

    <script type="text/javascript">
        Dropzone.autoDiscover = false;
        
        var previewNode = document.querySelector("#template");
        previewNode.id = "";
        var previewTemplate = previewNode.parentNode.innerHTML;
        previewNode.parentNode.removeChild(previewNode);

        var myDropzone = new Dropzone('div#mydropzone', { // Make the whole body a dropzone
            url: "/Upload.aspx?no=<%= Request.QueryString["no"] %>", // Set the url
            parallelUploads: 10,
            thumbnailWidth: 150,
            thumbnailHeight: 80,
            uploadMultiple: true,
            previewTemplate: previewTemplate,
            autoProcessQueue: false,
            acceptedFiles: "image/*,application/pdf,.doc,.docx,.xls,.xlsx,.csv,.tsv,.ppt,.pptx,.pages,.odt,.rtf",
            previewsContainer: "#previews", // Define the container to display the previews
            clickable: [".fileinput-button", ".upload-drop-zone"], // Define the element that should be used as click trigger to select files.
            init: function() {
                var submitButton = document.querySelector("#submit-all")
                    myDropzone = this;
             },
               
        });

        myDropzone.on("addedfile", function (file) {
            // Hookup the start button
            var filename = file.name;
            var extension = filename.split('.').pop();
            file.previewElement.querySelector("#txtNewFileName").value = filename.substr(0, filename.lastIndexOf('.'));
            file.previewElement.querySelector("#txtFileExtension").innerHTML = filename.split('.').pop().toUpperCase();

            var submitButton = document.querySelector("#submit-all")
            submitButton.classList.remove("invisible");
            submitButton.classList.add("visible");
        });

        // Update the total progress bar
        myDropzone.on("totaluploadprogress", function (progress) {
            document.querySelector("#total-progress .progress-bar").style.width = progress + "%";
            
        });

        myDropzone.on("sending", function (file, xhr, formData) {
            // Show the total progress bar when upload starts
            document.querySelector("#total-progress").style.opacity = "1";

            var filename = file.name;
            var extension = filename.split('.').pop();
           
            var newFilename = file.previewElement.querySelector("#txtNewFileName").value + '.' + extension;
            formData.append("newFileName", newFilename);
        });
    
        myDropzone.on("processing", function () {
            myDropzone.options.autoProcessQueue = true;
        });

        // Hide the total progress bar when nothing's uploading anymore
        myDropzone.on("queuecomplete", function (sending, progress) {
            document.querySelector("#total-progress").style.opacity = "0";
        });

        myDropzone.on("success", function (progress, file) {
            var submitButton = document.querySelector("#submit-all")
            submitButton.classList.remove("visible");
            submitButton.classList.add("invisible");

            var refreshButton = document.getElementById("<%= btnRefresh.ClientID %>");
            refreshButton.click();
        });            

        myDropzone.on("removedfile", function (file) {

            //post request to remove file from server
            $.post("/Upload.aspx?no=<%= Request.QueryString["no"] %>&delete=" + file.newName);

            var refreshButton = document.getElementById("<%= btnRefresh.UserID %>");
            refreshButton.click();
        });

        myDropzone.on('dragover', function (e) {
            this.className = 'upload-drop-zone drop';
            return false;
        })
        $(document).on('click', '#submit-all', function (file) {
            myDropzone.processQueue();
        });
    </script>

Dropzone.autoDiscover=false;
var previewNode=document.querySelector(“模板”);
previewNode.id=“”;
var previewTemplate=previewNode.parentNode.innerHTML;
previewNode.parentNode.removeChild(previewNode);
var myDropzone=newdropzone('div#myDropzone',{//使整个身体成为Dropzone
url:“/Upload.aspx?no=”,//设置url
并行上传:10,
指钉宽度:150,
拇指指甲高度:80,
uploadMultiple:true,
预览模板:预览模板,
自动处理队列:false,
接受的文件:“image/*、application/pdf、.doc、.docx、.xls、.xlsx、.csv、.tsv、.ppt、.pptx、.pages、.odt、.rtf”,
PreviewContainer:“#previews”//定义用于显示预览的容器
可点击:[“.fileinput按钮”、“.upload drop zone”],//定义应用作点击触发器以选择文件的元素。
init:function(){
var submitButton=document.querySelector(“全部提交”)
myDropzone=这个;
},
});
myDropzone.on(“addedfile”,函数(文件){
//连接启动按钮
var filename=file.name;
var扩展名=filename.split('.').pop();
file.previewElement.querySelector(“#txtNewFileName”).value=filename.substr(0,filename.lastIndexOf('.');
file.previewElement.querySelector(“#txtFileExtension”).innerHTML=filename.split('.').pop().toUpperCase();
var submitButton=document.querySelector(“全部提交”)
submitButton.classList.remove(“不可见”);
submitButton.classList.add(“可见”);
});
//更新总进度条
myDropzone.on(“totaluploadprogress”,函数(进度){
document.querySelector(“#total progress.progress bar”).style.width=progress+“%”;
});
on(“发送”,函数(文件、xhr、formData){
//开始上载时显示总进度条
document.querySelector(“#总进度”).style.opacity=“1”;
var filename=file.name;
var扩展名=filename.split('.').pop();
var newFilename=file.previewElement.querySelector(“#txtNewFileName”).value+'.+扩展名;
append(“newFileName”,newFileName);
});
myDropzone.on(“处理”,函数(){
myDropzone.options.autoProcessQueue=true;
});
//当不再上传任何内容时隐藏总进度条
myDropzone.on(“队列完成”,函数(发送,进度){
document.querySelector(“#总进度”).style.opacity=“0”;
});
myDropzone.on(“成功”,函数(进度,文件){
var submitButton=document.querySelector(“全部提交”)
submitButton.classList.remove(“可见”);
submitButton.classList.add(“不可见”);
var refreshButton=document.getElementById(“”);
刷新按钮。单击();
});            
myDropzone.on(“removedfile”,函数(文件){
//从服务器删除文件的post请求
$.post(“/Upload.aspx?no=&delete=“+file.newName”);
var refreshButton=document.getElementById(“”);
刷新按钮。单击();
});
myDropzone.on('dragover',函数(e){
this.className='upload drop zone drop';
返回false;
})
$(文档)。在('单击','提交所有')功能(文件){
myDropzone.processQueue();
});

它可以在Chrome、Edge和android上正常工作,但不能在Iphone或Ipad上正常工作。我试图在网上找到答案,但没有结果。

我找到了一个对我有帮助的答案,以防有人遇到同样的问题。 我在dropzone中找不到解决方法,所以选择了C#。我使用$POST方法更改文件名

$(document).on('click', '#submit-all', function (file) {
        myDropzone.processQueue();
        
        var newFilenames = [...document.querySelectorAll("#txtNewFileName")].map(sel => sel.value).join(',');

        $.post("/Upload.aspx?no=<%= Request.QueryString["no"] %>&rename=" + newFilenames);//changeFileNames);

    }); 
我已经有了上传文件的代码,但是附加的Post方法改变了现有的文件名

$(document).on('click', '#submit-all', function (file) {
        myDropzone.processQueue();
        
        var newFilenames = [...document.querySelectorAll("#txtNewFileName")].map(sel => sel.value).join(',');

        $.post("/Upload.aspx?no=<%= Request.QueryString["no"] %>&rename=" + newFilenames);//changeFileNames);

    });