Điểm:1

Reference private file?

lá cờ in

I'm making migration plugin which I'm using in first migration and it is creating private file like this:

if ($final_destination) {
  // Create a file entity.
  $file = File::create([
    'uri' => $final_destination,
    'uid' => $uid,
    'status' => FILE_STATUS_PERMANENT,
  ]);

  $uri = $file->getFileUri();

  $stream = new S3fsStream();
  $stream->writeUriToCache($uri);

  if ($stream->waitUntilFileExists($uri)) {
    $file->save();
    return $file->getFileUri();
  }
}

Then, second migration should create media entities, by using those files (with migration lookup plugin).

However, when I run second migration I get error message:

media: field_image.0=You do not have access to the referenced entity file: 46

If file is public then it works, but how can I reference private files? The error is triggered in ReferenceAccessConstraintValidator.php.

  // We check that the current user had access to view any newly added
  // referenced entity.
  if ($check_permission && !$referenced_entity->access('view')) {
    $type = $value->getFieldDefinition()->getSetting('target_type');
    $this->context->addViolation($constraint->message, ['%type' => $type, '%id' => $id]);
  }
lá cờ br
Đảm bảo rằng người dùng của bạn có quyền truy cập vào tệp riêng tư đó, nếu không, bạn không thể giới thiệu hoặc truy cập tệp đó.
lá cờ br
Mặt khác, khi tôi di chuyển, tôi không bao giờ phải tạo plugin để tạo phương tiện. Nhưng bạn phải đặt trường phương tiện để lưu tệp vào thư mục riêng (rõ ràng). Nếu bạn có một URL (ngay cả với bên ngoài), bạn chỉ cần đặt nó vào tệp được gửi và plugin được cung cấp sẽ tải xuống cho bạn - nếu tôi nhớ rõ như vậy đã lâu.
Điểm:0
lá cờ in

Phát hiện ra rằng đây là sự cố đã biết và đã được khắc phục trong Drupal 9.3. Với các phiên bản trước, bản vá nên được áp dụng:

https://www.drupal.org/project/drupal/issues/3134470

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.