如何在 Dropzone Upload 上更改文件名?

How to change filename on Dropzone Upload?

我有下一个代码:

this.on("sending", function (file, xhr, formData) {
    file.name = file.name + new Date().getTime();
    alert(file.name);

我需要为每个文件连接日期时间,以便每个文件在前端都有唯一的名称。 然而,此警报返回原始名称:

实际 Return:"fileName.png" 求购Return:"fileName-2/03/2020-10:26:32"

我做错了什么?


我正在尝试这样:

            renameFilename: function (file) {
            let newName = new Date().getTime() + '_' + file; 
            file = newName;
            return file;
        },

        init: function () {

这是关于属性的,当我在语句中使用 alert(file) 时工作​​正常,returns:12312354_filename。

但是文件名在其他 dropzone 方法中没有作为参数更改。

Dropzone 配置解释得很好here

renameFilename 弃用

您可以使用 renameFile

renameFilename: function (file) {
            file.name= new Date().getTime() + '_' + file.name; 
           }

您仍然会有实际的 文件名 ,可以使用 file.upload.filename

访问

这对我来说适用于 5.2.0:

<script type="text/javascript">

var CountFiles = 0;

$(document).ready(function () {

    Dropzone.autoDiscover = false;

    var Drop1 = new Dropzone("div#myPrincipalDropzone", { url: "/Article/UploadFiles",

        paramName: "file",
        maxFiles: 1,
        maxFilesize: 1200,
        maxFileHeight: 840,
        maxFileWidth: 840,
        acceptedFiles: ".png,.jpg",           
        addRemoveLinks: true,
        parallelUploads: 1,
        renameFile: function () {
            let newname = new Date().getTime() + '_' + 'Test';
            console.log("Nombre en RenameFile:" + newname);
            return newname;
        //},

        //init: function (newname) {

            this.on("addedfile", function (file) {

然而,ajax 发送的某些 @Model.Params 正在传递 "null",这对原始文件名有效。我仍在调查为什么会发生这种情况,但希望这对迷失的灵魂有所帮助。