调用工具:资源下载
This commit is contained in:
parent
4d4b1fcf86
commit
74a610733f
@ -22,4 +22,6 @@ public interface ToolsService {
|
||||
List<String> webScrap(String question);
|
||||
|
||||
String terminalTool(String command);
|
||||
|
||||
void downloadTool(String url, String name);
|
||||
}
|
||||
|
@ -74,4 +74,10 @@ public class ToolsServiceImpl implements ToolsService {
|
||||
TerminalTool terminalTool = new TerminalTool();
|
||||
return terminalTool.executeTerminalCommand(command);
|
||||
}
|
||||
|
||||
@Override
|
||||
public void downloadTool(String url, String name) {
|
||||
DownloadTool downloadTool = new DownloadTool();
|
||||
downloadTool.downloadResource(url, name);
|
||||
}
|
||||
}
|
||||
|
@ -86,4 +86,15 @@ public class ToolController {
|
||||
String result = toolsService.terminalTool(command);
|
||||
return R.ok(result);
|
||||
}
|
||||
|
||||
@PostMapping("/downloadTool")
|
||||
@Operation(summary = "资源下载")
|
||||
public R<?> downloadTool(@RequestBody JSONObject params) {
|
||||
String url = params.getStr("url");
|
||||
String name = params.getStr("name");
|
||||
CheckUtils.checkEmpty(url, "url地址");
|
||||
CheckUtils.checkEmpty(name, "文件名");
|
||||
toolsService.downloadTool(url, name);
|
||||
return R.ok();
|
||||
}
|
||||
}
|
||||
|
@ -0,0 +1,31 @@
|
||||
package com.huangge1199.aiagent.tools;
|
||||
|
||||
import cn.hutool.core.io.FileUtil;
|
||||
import cn.hutool.http.HttpUtil;
|
||||
import org.springframework.ai.tool.annotation.Tool;
|
||||
import org.springframework.ai.tool.annotation.ToolParam;
|
||||
|
||||
import java.io.File;
|
||||
|
||||
/**
|
||||
* DownloadTool
|
||||
*
|
||||
* @author huangge1199
|
||||
* @since 2025/5/28 16:11:48
|
||||
*/
|
||||
public class DownloadTool {
|
||||
@Tool(description = "Download a resource from a given URL")
|
||||
public String downloadResource(@ToolParam(description = "URL of the resource to download") String url, @ToolParam(description = "Name of the file to save the downloaded resource") String fileName) {
|
||||
String fileDir = FileConstant.FILE_SAVE_DIR + "/download";
|
||||
String filePath = fileDir + "/" + fileName;
|
||||
try {
|
||||
// 创建目录
|
||||
FileUtil.mkdir(fileDir);
|
||||
// 使用 Hutool 的 downloadFile 方法下载资源
|
||||
HttpUtil.downloadFile(url, new File(filePath));
|
||||
return "Resource downloaded successfully to: " + filePath;
|
||||
} catch (Exception e) {
|
||||
return "Error downloading resource: " + e.getMessage();
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user