mirror of
https://github.com/arendst/Tasmota.git
synced 2026-07-28 04:15:53 +00:00
Fix HTTP invalid file type upload
This commit is contained in:
@@ -389,6 +389,7 @@ enum TopicOptions { CMND, STAT, TELE, nu1, RESULT_OR_CMND, RESULT_OR_STAT, RESUL
|
||||
// Upload type used by HandleUploadLoop() to route incoming data.
|
||||
// Value 0 is invalid/unset. Each upload endpoint must set the appropriate
|
||||
// type before HandleUploadLoop() processes the first data block.
|
||||
// UPL_NONE - No valid type
|
||||
// UPL_TASMOTA - OTA firmware update (/u2)
|
||||
// UPL_SETTINGS - Settings backup restore (/u2)
|
||||
// UPL_EFM8BB1 - Sonoff RF bridge EFM8BB1 firmware
|
||||
@@ -397,7 +398,7 @@ enum TopicOptions { CMND, STAT, TELE, nu1, RESULT_OR_CMND, RESULT_OR_STAT, RESUL
|
||||
// UPL_SHD - Shelly dimmer firmware
|
||||
// UPL_CCL - CC2530 Zigbee firmware via CCLoader
|
||||
// UPL_UFSFILE - Filesystem file upload (/ufsu)
|
||||
enum UploadTypes { UPL_TASMOTA = 1, UPL_SETTINGS, UPL_EFM8BB1, UPL_TASMOTACLIENT, UPL_EFR32, UPL_SHD, UPL_CCL, UPL_UFSFILE };
|
||||
enum UploadTypes { UPL_NONE, UPL_TASMOTA, UPL_SETTINGS, UPL_EFM8BB1, UPL_TASMOTACLIENT, UPL_EFR32, UPL_SHD, UPL_CCL, UPL_UFSFILE };
|
||||
|
||||
enum ExecuteCommandPowerOptions { POWER_OFF, POWER_ON, POWER_TOGGLE, POWER_BLINK, POWER_BLINK_STOP, POWER_OFF_FORCE,
|
||||
POWER_OFF_NO_STATE = 8, POWER_ON_NO_STATE, POWER_TOGGLE_NO_STATE,
|
||||
|
||||
@@ -3457,8 +3457,11 @@ void HandleUpgradeFirmwareStart(void) {
|
||||
void HandleUploadDone(void) {
|
||||
if (!HttpCheckPriviledgedAccess()) { return; }
|
||||
|
||||
uint32_t upload_file_type = Web.upload_file_type;
|
||||
Web.upload_file_type = UPL_NONE;
|
||||
|
||||
#if defined(USE_ZIGBEE_EZSP)
|
||||
if ((UPL_EFR32 == Web.upload_file_type) && !Web.upload_error && BUpload.ready) {
|
||||
if ((UPL_EFR32 == upload_file_type) && !Web.upload_error && BUpload.ready) {
|
||||
BUpload.ready = false; // Make sure not to follow thru again
|
||||
// GUI xmodem
|
||||
ZigbeeUploadStep1Done(FlashWriteStartSector(), BUpload.spi_hex_size);
|
||||
@@ -3475,7 +3478,7 @@ void HandleUploadDone(void) {
|
||||
WSContentStart_P(PSTR(D_INFORMATION));
|
||||
if (!Web.upload_error) {
|
||||
WSContentSend_P(HTTP_SCRIPT_RELOAD_TIME,
|
||||
(UPL_TASMOTA == Web.upload_file_type) ? HTTP_OTA_RESTART_RECONNECT_TIME : HTTP_RESTART_RECONNECT_TIME); // Refesh main web ui after OTA upgrade
|
||||
(UPL_TASMOTA == upload_file_type) ? HTTP_OTA_RESTART_RECONNECT_TIME : HTTP_RESTART_RECONNECT_TIME); // Refesh main web ui after OTA upgrade
|
||||
}
|
||||
WSContentSendStyle();
|
||||
WSContentSend_P(PSTR("<div style='text-align:center;'><b>" D_UPLOAD " <font color='#"));
|
||||
@@ -3537,6 +3540,7 @@ void HandleUploadLoop(void) {
|
||||
static bool upload_error_signalled;
|
||||
|
||||
if (HTTP_USER == Web.state) { return; }
|
||||
if (UPL_NONE == Web.upload_file_type) { return; } // Invalid or no file type so bail out
|
||||
|
||||
if (Web.upload_error) {
|
||||
if (!upload_error_signalled) {
|
||||
|
||||
Reference in New Issue
Block a user