2013-11-25 6 views
14
$request = $event->getRequest(); 
print_r($request->files);die; 

मुझे देता हैजाओ अपलोड की गई फ़ाइल का मूल नाम

Symfony\Component\HttpFoundation\FileBag Object 
(
    [parameters:protected] => Array 
     (
      [files] => Array 
       (
        [0] => Symfony\Component\HttpFoundation\File\UploadedFile Object 
         (
          [test:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 
          [originalName:Symfony\Component\HttpFoundation\File\UploadedFile:private] => Chrysanthemum.jpg 
          [mimeType:Symfony\Component\HttpFoundation\File\UploadedFile:private] => image/jpeg 
          [size:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 879394 
          [error:Symfony\Component\HttpFoundation\File\UploadedFile:private] => 0 
          [pathName:SplFileInfo:private] => /tmp/phpmUl54W 
          [fileName:SplFileInfo:private] => phpmUl54W 
         ) 

       ) 

     ) 

) 

मैं एक पाश का सहारा के बिना 'originalname' यानी "Chrysanthemum.jpg" के लिए मूल्य पर प्राप्त करने के लिए कोशिश कर रहा हूँ, लेकिन मैं नहीं कर सकता सही वाक्य रचना

1UP फ़ाइल अपलोडर का उपयोग खोजने के लिए लगते हैं, लेकिन मुझे लगता है कि

उत्तर

5

यह मेरे लिए काम बंद कर, मुझे लगता है OneUp कक्षा यह थोड़ा अलग तरह से संभालती है

use Oneup\UploaderBundle\Event\PostPersistEvent; 
class UploadListener 
{ 
    public function onUpload(PostPersistEvent $event) 
    { 

     $request = $event->getRequest(); 
     $original_filename = $request->files->get('blueimp')->getClientOriginalName(); 
    } 
} 

प्रासंगिक दृश्यपटल

<input id="fileupload" type="file" name="blueimp" data-url="{{ oneup_uploader_endpoint('images') }}" multiple /> 
14

आप फ़ाइलों को आप प्राप्त अपलोड किए जाने पर महत्वपूर्ण है न UploadFile (API link) वस्तुओं (मूल रूप से ar के रैपर रे)।

$this->getRequest()->files[0]->getClientOriginalName(); 

अब यह कोशिश कर सकते हैं नहीं है, लेकिन आप के बजाय यह करने के लिए आवश्यकता हो सकती है:

$this->getRequest()->files['name_of_file_field_in_post']->getClientOriginalName(); 

जहाँ आप अपने प्रपत्र क्षेत्र के नाम के साथ name_of_file_field_in_post की जगह लेंगे।

+1

tjhe प्रतिक्रिया के लिए धन्यवाद, मैं इस त्रुटि मिलती है FatalErrorException: त्रुटि: प्रकार Symfony \ घटक की वस्तु उपयोग नहीं कर सकते \ HttpFoundation \ FileBag में सरणी के रूप में/pathtofile/MediaBundle/EventListener /UploadListener.php लाइन 41 मेरे इनपुट पर मेरा नाम है "फ़ाइलें []" – jriggs

+0

शायद यह किसी की मदद करता है: फ़ाइलें एक सरणी नहीं है, यह एक पैरामीटर बैग (इस मामले में फ़ाइलबैग) है। इसे 'foreach ($ request-> फ़ाइलों को $ फ़ाइल के रूप में) की तरह पुनरावृत्त किया जाना चाहिए, फिर आप 'getClientOriginalName()' कर सकते हैं। – Astaroth

संबंधित मुद्दे