bootstrap-fileinput uploadExtraData传递对象,后台接收的是对象,怎么办
时间: 2024-04-30 16:25:11 浏览: 16
如果你使用的是 jQuery AJAX 来上传文件,可以将对象转换为 JSON 字符串,然后再将其传递给后台。具体实现代码如下:
```javascript
$('#input-id').fileinput({
// other options
uploadExtraData: function() {
var data = { key1: 'value1', key2: 'value2' };
return { data: JSON.stringify(data) };
}
});
```
在后台接收到数据后,需要将 JSON 字符串解析为对象。如果你使用的是 Java 语言,可以使用 Jackson 库来完成这个操作。具体实现代码如下:
```java
import com.fasterxml.jackson.databind.ObjectMapper;
// ...
String json = request.getParameter("data");
ObjectMapper mapper = new ObjectMapper();
Map<String, Object> data = mapper.readValue(json, new TypeReference<Map<String, Object>>() {});
```
在上面的代码中,`request` 是一个 `HttpServletRequest` 对象,`data` 是一个 `Map` 对象,其中包含了从前端传递过来的数据。你可以通过 `data.get("key1")` 和 `data.get("key2")` 来获取对应的值。