Dropzone.options.imageFile = {
url: HOST_NAME + USER_NAME + BUILDER_API +'image/',
method: 'POST',
// enter code here
acceptedFiles: '.jpg, .jpeg, .png',
paramName: "imagefile", // The name that will be used to transfer the file
maxFilesize: 10, // MB
//addRemoveLinks: true,
maxFiles: 2,
init: function() {
this.on("success", function(file, response) {
image_id = response.id;
IMAGES.push(image_id);
check_files();
}),
this.on("removedfile", function(file, response){
data = JSON.parse(file.xhr.response);
alert(data['id']);
});
},
};
Run Code Online (Sandbox Code Playgroud)
我需要做什么来完全重置dropzone?
我有一个用 Go 编写的具有多个模块的 Web 应用程序,一个处理所有与数据库相关的事情,一个处理报告,一个包含所有 Web 服务,一个仅用于业务逻辑和数据完整性验证以及其他几个。所以,我有很多方法,这些模块已经涵盖了功能。
现在,要求是在Web服务中使用会话,并且我们需要在一些API中使用事务。我想到的第一种方法是更改现有方法的签名以支持会话、事务 (*sql.Tx)(这是一项痛苦的任务,但无论如何都必须这样做!)。现在,我担心实际上如果将来需要通过所有这些方法传递的东西,然后我必须再次经历这个循环以再次更改方法签名怎么办?这似乎不是一个好方法。
后来,我发现 context.Context 可能是一个很好的方法(好吧,除了这个,你也可以建议其他方法!)对于每个方法调用,只需在方法调用的第一个参数位置传递上下文参数,因此我已经仅更改方法签名一次。如果我采用这种方法,谁能告诉我如何在该上下文对象中设置/传递多个键(会话、sql.Tx)?(AFAIK,context.Context 提供了WithValue方法,但我可以将它用于多个键吗?我将如何在嵌套函数调用中设置一个键,这是否可能?)
其实这个问题有两个问题:
context.Context我的解决方案吗?如果没有,请告诉我另一种方法。context.Context?