suchen

Heim  >  Fragen und Antworten  >  Hauptteil

ajax - Wie kann ich in Laravel überprüfen, ob eine Blob-Datei ein Bild ist?

Wenn das Formular auf dem normalen Weg übermittelt wird, gibt es bei der Hintergrundüberprüfung kein Problem:

        $file = $request->avatar;
        $input = array('image' => $file);
        $rules = array(
            'image' => 'image'
        );
        $validator = \Validator::make($input, $rules);
        if ( $validator->fails() ) {
            return \Response::json([
                'success' => false,
                'errors' => $validator->getMessageBag()->toArray()
            ]);

        }

Bei der Übermittlung mit dem formData-Objekt wird die Bilddatei jedoch in eine Blob-Datei konvertiert und kann nicht überprüft werden:

        $('#uploadAvatar').on('click', function (e) {

            $('#uploadAvatar').html('正在保存...');
            $("#image").cropper('getCroppedCanvas').toBlob(function (blob) {
                var formData = new FormData();

                formData.append('croppedImage', blob);

                $.ajaxSetup({
                    headers: {
                        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
                    }
                });


                $.ajax({
                    type: "POST",
                    url: "{{ url('/avatar') }}",
                    processData: false,
                    contentType: false,
                    cache: false,
                    data: formData
                }).done(function (response) {
                    showResponse(response);
                }).fail(function (data) {
                    alert('提交失败,请尝试重新提交');
                });

            });

        });

Wie kann der Hintergrund überprüfen, ob es sich bei der Blob-Datei um ein Bild handelt?

仅有的幸福仅有的幸福2743 Tage vor779

Antworte allen(3)Ich werde antworten

  • 过去多啦不再A梦

    过去多啦不再A梦2017-05-16 16:51:55

    很简单啊,搞个临时变量还原回来不就好了?
    $file = file_put_contents('/path/to/new/file_name', $blob);

    Antwort
    0
  • phpcn_u1582

    phpcn_u15822017-05-16 16:51:55

    扩展验证规则用getimagesize

    Antwort
    0
  • 大家讲道理

    大家讲道理2017-05-16 16:51:55

    可以用 base64 流的方式

    Antwort
    0
  • StornierenAntwort