我想使用这个javascript:https://github.com/buzz/mediainfo.js
我想在Dropzone成功事件中实现对mediainfo.js中存在的函数的调用
var varFunc_Dropzone = function () {
var dzone_upload_show_poster = function () {
$('#dzone_poster').dropzone({
url: "../../assets/system/sys_upload_manager.php",
method: "POST",
paramName: "file",
acceptedFiles: "image/*",
maxFiles: 1,
maxFilesize: 1, // MB
uploadMultiple: false,
thumbnailWidth: null,
thumbnailHeight: null,
addRemoveLinks: true,
timeout: 180000,
dictRemoveFileConfirmation: "Sicuro?",
dictFileTooBig: "File grande ({{filesize}}mb). Massimo consentito {{maxFilesize}}mb",
dictInvalidFileType: "Tipo di file non valido",
dictCancelUpload: "Cancella",
dictRemoveFile: "Rimuovi",
dictMaxFilesExceeded: "Sono consentiti un massimo di {{maxFiles}} file",
dictDefaultMessage: "Trascina il file qui per effettuare Upload",
success: function(file, done) {
// implement the trigger here for request MediaInfo with mediainfo.js
// I try:
// get_file_info(MediaInfo({ format: 'text' }, {file}));
// var xFile = MediaInfo({ format: 'text' }, (mediainfo) => {file});
// var xFile = MediaInfo({ format: 'text' }, (mediainfo) => onChangeFile(file));
}
});
}
return {
init: function() {
dzone_upload_show_poster();
}
};
}();
KTUtil.ready(function() { varFunc_Dropzone.init(); });谢谢!希望你能帮助我!
发布于 2021-03-18 20:50:05
您正在将dropzone文件发送到此端点:"../../assets/system/sys_upload_manager.php"
这可能不是你想要的。mediainfo.js在用户的浏览器中而不是在服务器中处理文件。如果你想在服务器上处理媒体文件,你需要在你的接收PHP脚本中处理。如果您计划在浏览器中处理它们,则不能使用success事件处理程序。从Dropzone.js文档中:
文件上传成功。获取作为第二个参数的服务器响应。(Source)
要防止Dropzone自动上传文件,您可以将autoProcessQueue设置为false,如this answer中所述。
然后,您可以处理事件addedfile,它为您提供了一个可使用的File object。
这里有一个关于如何在File对象中使用mediainfo.js的simple example。
免责声明:我是mediainfo.js的作者。
https://stackoverflow.com/questions/66690951
复制相似问题