Laravel 如何决定临时文件的保存位置?

How does Laravel decide where to save temp files?

我正在使用 this 将图像上传到 S3 的图像库。

首先它将图像保存为本地计算机上的临时文件,然后将其上传到 S3。

我的问题是使用某些功能临时文件被上传到 C:\xampp\tmp/ 并使用其他功能临时文件被上传到 C:\Users\myUser\AppData\Local\Temp.

我的问题是,这是在哪里决定的?以及如何配置它?

我正在使用 Win10 机器和 Postman。

这是上传图片到C:\Users\myUser\AppData\Local\Temp的函数:

 * @param Request $request
 *
 * @throws \Spatie\MediaLibrary\Exceptions\FileCannotBeAdded
 */
public function coverPhotoFromRequest( Request $request ) {
  if ( $request->hasFile( 'cover_photo' ) ) {
    $this->clearMediaCollection( 'cover' );
    $this->addMedia( $request->file( 'cover_photo' ) )->toMediaCollection( 'cover' );
  }
}

这个非常相似的函数将临时文件上传到 C:\xampp\tmp/:

/**
 * @helper handles the profile photo from request or link
 *
 * @param mixed $photo
 *
 * @return \Spatie\MediaLibrary\Media
 * @throws \Spatie\MediaLibrary\Exceptions\FileCannotBeAdded
 * @throws \Spatie\MediaLibrary\FileAdder\FileDoesNotExist
 */
public function profilePhoto( $photo = null ) {
  if ( Ut::isUrl( $photo ) ) {
    return $this->clearMediaCollection( 'profile' )->addMediaFromUrl( $request->file( 'profile_photo' ) )->toMediaCollection( 'profile' );
  }

  if ( $photo instanceof UploadedFile ) {
    return $this->clearMediaCollection( 'profile' )->addMedia( $request->file( 'profile_photo' ) )->toMediaCollection( 'profile' );
  }
}

这是项目的路径:

C:\Users\myUser\Projects\images\api

问题是当我将代码推送到服务器时,出现了同样的问题。

我检查了配置文件,我有这个:

'temporary_directory_path' => storage_path('medialibrary/temp'),

但有时它仍然发送到 /xamppC:\Users\myUser\AppData\

该库在文档 https://docs.spatie.be/laravel-medialibrary/v7/installation-setup.

中列出了临时路径 'temporary_directory_path' 的配置指令

这样设置有用吗?