如何在Dropzone上传中更改文件名?

时间:2020-03-02 13:30:05

标签: javascript dropzone

我有下一个代码:

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

我需要为每个文件设置日期时间,因此每个文件在前端都有一个唯一的名称。 但是,此警报返回的是原始名称:

实际回报:“ fileName.png” 希望返回:“ fileName-2 / 03 / 2020-10:26:32”

我做错了什么?


我正在尝试这样:

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

        init: function () {

这是在属性上,当我在语句内使用alert(file)时工作正常,返回:12312354_filename。

但是,在其他dropzone方法中,文件名未更改为参数。

2 个答案:

答案 0 :(得分:0)

Dropzone配置已经很好地解释了here

renameFilename已被弃用

您可以改用renameFile

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

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

进行访问。

答案 1 :(得分:0)

这对我来说适用于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”,这在原始文件名上有效。我仍在调查为什么会发生这种情况,但希望这可以帮助失去的灵魂。