2025-02-21 16:12

deep seek 给了很多方法,提示词我照抄的你的稍加改动:iOS钉钉小程序不支持使用formData格式上传文件,有什么办法可以支持上传文件到 http 服务端吗?

回复的摘要如下:
方法一:使用钉钉原生上传API
钉钉小程序提供了dd.uploadFile接口,支持以multipart/form-data格式上传文件,无需手动构造FormData。
uploadFile(filePath) {
dd.uploadFile({
url: 'https://your-server.com/upload',
fileType: 'image', // 或 'file'
fileName: 'file', // 表单字段名,与服务端一致
filePath: filePath,
formData: {
// 附加的其他表单字段
userId: '123'
},
success: (res) => {
console.log('上传成功', res.data);
},
fail: (err) => {
console.error('上传失败', err);
}
});
}

方法二:Base64编码:
步骤 1:读取文件为Base64
dd.getFileSystemManager().readFile({
filePath: filePath,
encoding: 'base64',
success: (res) => {
const base64Data = res.data;
this.uploadBase64(base64Data);
}
});

步骤 2:通过HTTP请求发送
uploadBase64(base64Data) {
dd.httpRequest({
url: 'https://your-server.com/upload',
method: 'POST',
headers: { 'Content-Type': 'application/json' },
data: {
file: base64Data,
fileName: 'example.jpg'
},
success: (res) => {
console.log('上传成功', res.data);
}
});
}

2025-02-21 14:59

@q76267454 没有碰到过,可能是你用的那段代码的兼容性不好,直接问 deep seek 比啥都快

2025-02-21 14:47

异常提示上传数据提前结束了,移动端上传文件的代码有问题

移动端用的什么工具? 找一个更好封装的工具进行文件上传, 直接问 deep seek 有惊喜

2025-02-10 11:42

jfinal 是国产的,可以作为全部国产化

2025-02-10 11:22

必须是线程安全的,你传入的参数确保是独享的就行,例如:
engine.getTemplat(...).render( 这里的变量需要注意线程安全问题)

2025-02-07 18:35

要高性能解决需要改词法分解析器,使用的话,建议直接做个正则替换就好 将 #(rating) 替换为 {rating}

扩展 ISource 接口,在获取资源的那个地方替换掉, 这样对使用者就透明无感了

2025-01-16 14:14

非常优雅的实现,赞

2025-01-07 14:40

一个全局拦截器解决问题

2025-01-06 17:34

@sbw 找公司前端工程师解决一下,这个就是个熟练的问题

2025-01-01 12:37

@杜福忠 万万没想到 onDeploy 还能用上,这个我当时做了点前瞻性设计,也不知道是不是真有用

2025-01-01 12:20

SseEmitter 我也很少用,先点赞收藏

看到下面这个 onDeploy 用法:
UndertowServer.create(DemoConfig.class).onDeploy((cl, di) ->
di.getFilters().get("jfinal").setAsyncSupported(true)).start();

我自己在做了这个 onDeploy 功能之后就没用过,甚至完全忘记了,本以为没有什么用,没想到用上了,极好极好

2024-12-28 22:16

目前最新版是 5.2.3, 5.2.4 未发布

2024-12-27 09:48

@jiren 80% 开发完了,有些功能在打磨

2024-12-25 14:38

利用生成器,避免了启动时数据库的访问,非常好的创新

aifei 也用了这种方式,启动速度更快了