Корзина Amazon S3 — Этот XML-файл, похоже, не содержит никакой информации о стиле, связанной с ним

#amazon-web-services #amazon-s3

Вопрос:

Я храню некоторые PDF-файлы в корзине Amazon S3 и получаю доступ к ним через свой веб-сайт. Когда я нажимаю на некоторые документы, сохраненные в одном и том же месте, они открываются нормально. Однако один из них, в частности, дает мне эту ошибку:

 This XML file does not appear to have any style information associated with it. The document tree is shown below.

<Error>
<Code>AccessDenied</Code>
<Message>Access Denied</Message>
<RequestId>BW2VS1WEE21AM0Q9</RequestId>
<HostId>Xp1DGhbsrkdLN3F43i/u2741UJrfZUcCIyL57nXUL89A seXkT5cyJ8OBslFwqw4ObsDr45UQPw=</HostId>
</Error>
 

Это функция редактирования данных определенного пользователя системы, в которой хранятся документы.

 public function update(BeneficiadoRequest $request, $id)  {

$aluno = Beneficiados::find($id);
$projeto = Projeto::find($aluno->projeto_id);

if($request->ativo == 'Inativo' amp;amp; $aluno->ativo == 'Ativo') {
  $aluno->data_inativo = Carbon::now();      
  $aluno->ativo = $request->ativo;
} else {
  $aluno->ativo = $request->ativo;
}

$aluno->fill($request->all());
$aluno->nome = mb_strtoupper($request->nome);
$aluno->entrada = $request->entrada;

$aluno->saida = $request->saida;
$aluno->modalidade = $request->modalidade;
$aluno->turma_id = $request->turma;
$aluno->save();

$documentos = DocumentosAluno::where('beneficiado_id', $id)->first();

if ($request->hasFile('documento_foto34') amp;amp; $request->file('documento_foto34')->isValid()) {

  $name = str_replace(' ', '', $request->file('documento_foto34')->getClientOriginalName());
  $foto = $request->documento_foto34->storeAs('/' . $projeto->titulo . '/documentos_alunos/' . $aluno->id . '-' . $aluno->rg, $name, 's3');
  $documentos->foto = $foto;
}
if ($request->hasFile('documento_identidade') amp;amp; $request->file('documento_identidade')->isValid()) {
  $name = str_replace(' ', '', $request->file('documento_identidade')->getClientOriginalName());
  $identidade = $request->documento_identidade->storeAs('/' . $projeto->titulo . '/documentos_alunos/' . $aluno->id . '-' . $aluno->rg, $name, 's3');
  $documentos->identidade = $identidade;
}
if ($request->hasFile('documento_identidade_verso') amp;amp; $request->file('documento_identidade_verso')->isValid()) {
  $name = $request->file('documento_identidade_verso')->getClientOriginalName();
  $identidade_verso = $request->documento_identidade_verso->storeAs('/' . $projeto->titulo . '/documentos_alunos/' . $aluno->id . '-' . $aluno->rg, $name, 's3');
  $documentos->identidade_verso = $identidade_verso;
}
if ($request->hasFile('cpf') amp;amp; $request->file('cpf')->isValid()) {
  $name = $request->file('cpf')->getClientOriginalName();
  $cpf = $request->cpf->storeAs('/' . $projeto->titulo . '/documentos_alunos/' . $aluno->id . '-' . $aluno->rg, $name, 's3');
  $documentos->cpf = $cpf;
}
if ($request->hasFile('documento_residencia') amp;amp; $request->file('documento_residencia')->isValid()) {
  $name = str_replace(' ', '', $request->file('documento_residencia')->getClientOriginalName());
  $residencia = $request->documento_residencia->storeAs('/' . $projeto->titulo . '/documentos_alunos/' . $aluno->id . '-' . $aluno->rg, $name, 's3');
  $documentos->residencia = $residencia;
}
if ($request->hasFile('documento_medico') amp;amp; $request->file('documento_medico')->isValid()) {
  $name = str_replace(' ', '', $request->file('documento_medico')->getClientOriginalName());
  $medico = $request->documento_medico->storeAs('/' . $projeto->titulo . '/documentos_alunos/' . $aluno->id . '-' . $aluno->rg, $name, 's3');
  $documentos->atestado_medico = $medico;
}
if ($request->hasFile('documento_matricula') amp;amp; $request->file('documento_matricula')->isValid()) {
  $name = str_replace(' ', '', $request->file('documento_matricula')->getClientOriginalName());
  $matricula = $request->documento_matricula->storeAs('/' . $projeto->titulo . '/documentos_alunos/' . $aluno->id . '-' . $aluno->rg, $name, 's3');
  $documentos->comprovante_matricula = $matricula;
}
if ($request->hasFile('documento_termo') amp;amp; $request->file('documento_termo')->isValid()) {
  $name = str_replace(' ', '', $request->file('documento_termo')->getClientOriginalName());
  $termo = $request->documento_termo->storeAs('/' . $projeto->titulo . '/documentos_alunos/' . $aluno->id . '-' . $aluno->rg, $name, 's3');
  $documentos->termo_ficha = $termo;
}
$documentos->save();


return redirect()->back();
 

}

Комментарии:

1. Когда вы загружаете PDF-файл из корзины Amazon S3 в консоли управления AWS и открываете его, действителен ли PDF-файл в Adobe Reader?

2. ДА. Я загружаю как pdf, так и jpg, и оба открываются нормально

3. Вы используете код для отображения PDF-файла. Если это так — вы должны показать сообществу логику, которую вы используете.

4. Я уже отредактировал.