मैं Laravel 8.x पर काम कर रहा हूँ। मेरा काम सर्वर साइड पर .PDF फाइल को वैलिडेट करना है। सब कुछ ठीक काम कर रहा है लेकिन जब मैं एक वैध पीडीएफ फाइल अपलोड करता हूं तो यह मान्य नहीं हो रहा है और एक त्रुटि के साथ लौट रहा है। मेरा स्रोत कोड अनुसरण कर रहा है। कृपया मेरी गलतियों को सुधारें यदि आप पाते हैं

धन्यवाद

ब्लेड फ़ाइल

<form class="w-100" id="addnotes" method="post" enctype="multipart/form-data" action="{{ route('upload-member-reports') }}">
    {{ csrf_field() }}
    <div class="modal-header">
    <h5 class="modal-title" name="report-file" id="exampleModalLongTitle">Upload Reports</h5>
    <button type="button" class="close" data-dismiss="modal" aria-label="Close">
        <span aria-hidden="true">&times;</span>
    </button>
    </div>
    <div class="modal-body">
    <label class="file ">
        <input type="file" name="reportfile" id="reportfile"  aria-label="File browser example">
        <span class="file-custom"></span>
    </label>
    @if($errors->has('reportfile'))
        <div class="error text-danger">{{ $errors->first('reportfile') }}</div>
    @endif
    <input type="date" name="reportdate" class="form-control mt-20px" value="{{ old('reportdate') }}" placeholder="Select Date">
    <!-- <textarea type="textarea" rows="4" cols="50" class="form-control" placeholder="Enter Your Notes..."></textarea> -->
    @if($errors->has('reportdate'))
        <div class="error text-danger mt-5px">{{ $errors->first('reportdate') }}</div>
    @endif
    <input type="hidden" name="manager_id" value="{{ Auth::user()->id }}">
    <input type="hidden" name="member_id" value="{{ $id }}">
    </div>
    <div class="modal-footer">
        <input type="submit" class="btn btn-orange" value="Submit">
    </div>
</form>

नियंत्रक फ़ाइल

public function uploadMemberReports( Request $request ){
    # Validation  Rules
    $rules = [
        'reportdate'=>'required',
        'reportfile' => 'required|mimes:pdf',
    ];
    $messages = [
        'reportdate.required' =>'Date is required.',
        'reportfile.required' => 'File is required.',
        'reportfile.mimes' => 'Only PDF files are allowed.',
    ];

    $validator = Validator::make( $request->all(), $rules, $messages);

    if ( $validator->fails() ) {
        # if validations fails redirect back with errors
        return redirect()->back()->withErrors($validator)->withInput();
    } else {
        # next action
    }
}

जब मैं वैध पीडीएफ फाइल के साथ प्रयास करता हूं तो यह निम्नलिखित की तरह त्रुटि के साथ लौट रहा है:

रिपोर्ट फ़ाइल अपलोड करने में विफल.

संपादित करें: अनुरोध सरणी प्रतिक्रिया

Array
(
    [_token] => yaX0ohRjl6tR298Zd9WeSLcgxcoVQ9nPx3K5gO4S
    [reportdate] => 2021-01-12
    [manager_id] => 2
    [member_id] => 4
    [reportfile] => Illuminate\Http\UploadedFile Object
        (
            [test:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 
            [originalName:Symfony\Component\HttpFoundation\File\UploadedFile:private] => labreports_12.pdf
            [mimeType:Symfony\Component\HttpFoundation\File\UploadedFile:private] => application/octet-stream
            [error:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 1
            [hashName:protected] => 
            [pathName:SplFileInfo:private] => 
            [fileName:SplFileInfo:private] => 
        )

)
0
Ram Chander 12 जिंदा 2021, 12:55

2 जवाब

सबसे बढ़िया उत्तर

इसके कई कारण हो सकते हैं। लेकिन फ्रंटएंड पहली नज़र में अच्छा लगता है। यह सर्वर की समस्या हो सकती है। उदाहरण के लिए फाइलसाइज, माइम टाइप। आप इस संभावना से इंकार करने के लिए पहले चरण में अनुरोध चर को आउटपुट कर सकते हैं कि पीडीएफ नहीं आया है।

संपादित करें (अपनी टिप्पणियों पर देखें): 'आवश्यक | माइम्स: एप्लिकेशन/पीडीएफ'

1
Maik Lowrey 12 जिंदा 2021, 13:05

बस अपने फ़ॉर्म में "enctype" जोड़ें

<form method="POST"  enctype="multipart/form-data" action="your_action">

MIME नियम का मूल उपयोग

'reportfile' => 'mimes:png'

बस पूर्ण एक्सटेंशन के साथ प्रयास करें

'reportfile' => 'mimes:application/pdf' 

या

"reportfile" => 'mimetypes:application/pdf'

MIME प्रकार और एक्सटेंशन की पूरी सूची https:/ /svn.apache.org/repos/asf/httpd/httpd/trunk/docs/conf/mime.types

1
tvs89 2 जुलाई 2021, 07:44