我正在尝试在我的一些系统上自动更新固件。因此,我首先从供应商网站下载固件文件,然后我想将其上传到我的TFTP服务器,以便我的设备安装新固件。
我使用以下代码来实现:
def initiateUpdate(){
if(!downloadFirmware()){
println "Firmware download failed"
return false
}
}
def downloadFirmware(){
String downloadURL = 'https://myvendor.com/firmware/fw1.bin'
redirect(url: downloadURL)
return true
}
字符串
这一切都工作得很好,我在我的下载目录中得到一个fw1.bin。但是当我试图无缝上传到我的TFTP服务器时,它以某种方式破坏了固件下载。即,如果我现在添加:-
def initiateUpdate(){
if(!downloadFirmware()){
println "Firmware download failed"
return false
}
if(!uploadFirmware()){
print "Firmware upload failed"
return false
}
}
def downloadFirmware(){
String downloadURL = 'https://myvendor.com/firmware/fw1.bin'
redirect(url: downloadURL)
return true
}
def uploadFirmware(){
String home = System.getProperty("user.home");
def file=home + "\\Downloads\\fw1.bin"
// Now do the TFTP upload
}
型
当我做initiateUpdate时,它不再下载文件,它到达uploadFirmware部分并失败,因为没有文件要上传。
我想我误解了重定向是如何工作的,所以任何关于我做错了什么的指针,或者一个更好的方法,我都会感激不尽。
1条答案
按热度按时间ny6fqffe1#
你必须使用某种http客户端从远程位置下载文件并保存到你的服务器磁盘上。你不能在浏览器中使用重定向。
我的意思可能是这样的:
字符串