我正在尝试在我的Laravel网站上使用Dropzone.js。
这是我的设置:
index.blade.php
:
<form action="/documents" method="POST" class="dropzone" id="my-dropzone" enctype="multipart/form-data">
@csrf
</form>
在我的app.js
文件中,我有以下代码:
window.Dropzone = require('dropzone');
(function () {
Dropzone.autoDiscover = false;
Dropzone.options.myDropzone = {
paramName: "file", // The name that will be used to transfer the file
maxFilesize: 1, // MB
acceptedFiles: 'image/*,application/pdf',
parallelUploads: 8,
addRemoveLinks: false,
createImageThumbnails: false,
autoProcessQueue: true,
previewTemplate: document.getElementById('dropzone-preview-template').innerHTML,
accept: function (file, done) {
console.log(file.name)
},
};
});
实际的Dropzone元素显示在页面上,我可以使用它来上传文件。但是,我的Dropzone.options
没有受到尊重。
例如,即使我只希望能够上传图像和PDF文件,我也可以上传大于1MB的文件,可以上传所有文件类型。
如果我将以下内容移动到Dropzone.autoDiscover = false;
之外,(function () {});
,则Dropzone元素根本不起作用。
我该怎么办?
答案 0 :(得分:1)
您已经将代码括在匿名函数中,但是没有调用它,因此不会执行插件选项代码。要么删除此匿名函数,要么调用它,就像这样:
(function () {
})(); // call the function
答案 1 :(得分:0)
改为尝试:
using System;
using System.Linq;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
comboBoxAnimals.Items.Add("dog");
comboBoxAnimals.Items.Add("cat");
comboBoxAnimals.Items.Add("mouse");
comboBoxAnimals.SelectedIndex = 1;
txtTimes.Text = "1";
}
private void button1_Click(object sender, EventArgs e)
{
string selectedAnimal = comboBoxAnimals.SelectedItem.ToString();
int times = int.Parse(txtTimes.Text);
var message = string.Concat(Enumerable.Repeat(selectedAnimal, times));
MessageBox.Show(message);
}
}
}