legacy-knowledge-base
公開されました Jun. 30, 2025

ゲストユーザーがフォームにファイルをアップロードできない - 予期しないエラーが発生しました

written-by

Tímea Bihari

How To articles are not official guidelines or officially supported documentation. They are community-contributed content and may not always reflect the latest updates to Liferay DXP. We welcome your feedback to improve How To articles!

While we make every effort to ensure this Knowledge Base is accurate, it may not always reflect the most recent updates or official guidelines.We appreciate your understanding and encourage you to reach out with any feedback or concerns.

legacy-article

learn-legacy-article-disclaimer-text

問題

  • 認証されたユーザーはファイルをアップロードできますが、ゲストはアップロードできません。
  • すべての権限はGuestユーザーに提供されます。
  • ユーザーがアップロードするファイルを選択すると、すぐにエラーメッセージが表示される:「ファイルのアップロード中に予期せぬエラーが発生しました。
  • サーバー管理 > ログに"com.liferay.dynamic.data.mapping.form.web.internal.upload.DDMFormUploadResponseHandler "をDEBUGで追加すると、以下のエラーが表示されます:
DEBUG [http-nio-8080-exec-630][DDMFormUploadResponseHandler:56] null
com.liferay.portal.kernel.exception.NoSuchUserException: No User exists with the key {companyId=20101, screenName=ddm_form_default_user_screen_name}
at com.liferay.portal.service.persistence.impl.UserPersistenceImpl.findByC_SN(UserPersistenceImpl.java:4582) ~[portal-impl.jar:?]

環境

  • アップデート31下のLiferay DXP 7.3
  • アップデート76下のLiferay DXP 7.4

解像度

  • Instance Settings > Users > Fields で "Autogenerate User Screen Names" がチェックされている場合、ddm フォームのデフォルトユーザは"ddm.form.default.user.screen.name" というスクリーンネームで作成されます。
  • これは DocumentLibraryDDMFormFieldTemplateContextContributor が期待するスクリーン名 ("ddm_form_default_user_screen_name") とは異なるため、アップロードフィールドを使用するフォームは例外をスローします。
  • 7.4用u76と7.3用u31のLPS-133096が修正されました。

追加情報

次の 回避策 が利用できる:

  1. コントロールパネル > サーバ管理 > スクリプト に移動する。
  2. 以下のスクリプトを実行する:
import com.liferay.portal.kernel.service.UserLocalServiceUtil;
import com.liferay.dynamic.data.mapping.constants.DDMFormConstants;

UserLocalServiceUtil.updateScreenName(userId, DDMFormConstants.DDM_FORM_DEFAULT_USER_SCREEN_NAME);

スクリプトを実行する前に、データベースのバックアップを作成し、必要に応じて復元できるようにしてください。

did-this-article-resolve-your-issue

legacy-knowledge-base