siyuan-note/siyuan · error
Conf.Language(94)
Error message
Conf.Language(94)
What it means
After the 401 check, uploadAssets2Cloud inspects the JSON body's Code field; a non-zero Code means the cloud server accepted the request but rejected the upload, producing fmt.Errorf(Conf.Language(94), requestResult.Msg) — "Upload failed: %s" with the server's message. This is a server-reported business error surfaced through the localized upload-failed wrapper.
Solutions
- Read the wrapped requestResult.Msg in the error message and address the server-stated cause
- Free up cloud storage quota or upgrade the subscription if quota/plan limits are the cause
- Reduce asset size or convert to an allowed type before uploading
- Retry later if the server message indicates temporary unavailability; report persistent server errors to SiYuan support
Example fix
// before
err = fmt.Errorf(Conf.Language(94), requestResult.Msg)
// caller: log.Fatal(err)
// after (caller handles server msg)
if err != nil {
var uploadErr *fmt.WrapError
log.Printf("cloud upload rejected: %v", err) // inspect server Msg inside
return retryable(err) ? retryLater(err) : err
} Defensive patterns
Strategy: try-catch
Validate before calling
if assetSize > maxCloudAssetSize {
return errors.New("asset exceeds cloud upload size limit")
} Try / catch
if err != nil && strings.Contains(err.Error(), "Upload failed:") {
serverMsg := extractServerMsg(err) // quota/type/account hints live in the wrapped Msg
handleServerRejection(serverMsg)
} Prevention
- Monitor cloud storage quota before bulk uploads
- Compress or downscale large assets before uploading
- Keep the subscription active if cloud storage is in use
When it happens
Trigger: Uploading assets to SiYuan cloud when the server responds HTTP 200 but with requestResult.Code != 0 — e.g. storage quota exceeded, file type/size rejected, or account not authorized for cloud storage.
Common situations: Exceeding cloud storage quota; uploading disallowed file types or oversized assets; subscription expired so cloud storage is disabled; server-side maintenance or policy changes rejecting uploads.
Related errors
- Conf.Language(31)
- Conf.Language(94) (localized upload failure message with…
- Account authentication failed, please login again
- Backup failed
- Conf.Language(123)
AI-assisted analysis of siyuan-note/siyuan@9f775e8a12 (2026-09-19).
Data as JSON: /api/errors/f54f664c6f52d2a9.
Report an issue: GitHub.
Appendix: source
Thrown at kernel/model/assets.go:1497
SetSuccessResult(requestResult).
SetFile("file[]", absAsset).
SetCookies(&http.Cookie{Name: "symphony", Value: uploadToken}).
SetHeader("meta-type", metaType).
SetHeader("biz-type", bizType).
Post(util.GetCloudServer() + "/apis/siyuan/upload?ver=" + util.Ver)
if nil != reqErr {
logging.LogErrorf("upload assets failed: %s", reqErr)
return count, ErrFailedToConnectCloudServer
}
if 401 == resp.StatusCode {
err = errors.New(Conf.Language(31))
return
}
if 0 != requestResult.Code {
logging.LogErrorf("upload assets failed: %s", requestResult.Msg)
err = fmt.Errorf(Conf.Language(94), requestResult.Msg)
return
}
absAsset = filepath.ToSlash(absAsset)
relAsset := absAsset[strings.Index(absAsset, "assets/"):]
completedUploadAssets = append(completedUploadAssets, relAsset)
logging.LogInfof("uploaded asset [%s]", relAsset)
count++
}
if !ignorePushMsg {
util.PushClearMsg(msgId)
}
if 0 < len(completedUploadAssets) {
logging.LogInfof("uploaded [%d] assets", len(completedUploadAssets))
}
returnView on GitHub (pinned to 9f775e8a12)