Image upload

Discussion forum for Extension Writers regarding Extension Development.
Post Reply
Kuzia
Registered User
Posts: 33
Joined: Sat Dec 31, 2016 6:59 pm
Location: Moscow
Name: Alex

Image upload

Post by Kuzia »

Having some issues with file upload. Technically nothing works:

Form:

Code: Select all

<form id="add_squad_page" method="post" action="{U_ACTION}">
	<h2>{L_SQUADS_ADD_TITLE}</h2>
	<div class="panel">
		<div class="inner">
			<fieldset>
				<dl>
					<dt><label for="squad_title">{L_SQUADS_CAT_SQUAD_NAME}</label></dt>
					<dd><input type="text" class="large" name="squad_title"/></dd>
				</dl>
				<dl>
					<dt><label for="squad_tag">{L_SQUADS_CAT_SQUAD_TAG}</label></dt>
					<dd><input type="text" class="large" name="squad_tag"/></dd>
				</dl>
				<dl>
					<dt><label for="squad_leader">{L_SQUADS_CAT_SQUAD_LEADER}</label></dt>
					<dd><input type="text" class="large" name="squad_leader"/></dd>
				</dl>

				<dl>
					<dt><label for="squad_logo_upload">{L_SQUADS_CAT_LOGO}</label></dt>
					<dd><input type="hidden" name="MAX_FILE_SIZE" value="{SQUAD_LOGO_UPLOAD_SIZE}" /><input type="file" name="squad_logo_upload" id="squad_logo_upload" class="inputbox autowidth" /></dd>
				</dl>

				<p class="submit-buttons">
					<input class="button1" type="submit" id="submit" name="submit" value="{L_SUBMIT}" />&nbsp;
					<input class="button2" type="reset" id="reset" name="reset" value="{L_RESET}" />
				</p>

				{S_FORM_TOKEN}
			</fieldset>
		</div>
	</div>
</form>
Controller: gist

Code: Select all

# handle Logo Upload
      $upload_dir = 'images/';
      $upload_file = $this->request->file('squad_logo_upload');
      $upload = $this->files_factory->get('upload')
			->set_error_prefix('AVATAR_')
			->set_allowed_extensions(array('png', 'jpg', 'gif'))
			->set_allowed_dimensions(40,40,256,256);
  		$file = $upload->handle_upload('files.types.form', 'squad_logo_upload');
      $file->move_file($upload_dir, true);
I've tried $phpbb_container->get('files.upload') instead of $files_factory->get('upload'), same story. Dir is writable and exist. What am I doing wrong?

If someone can link me to proper example thats would be great.
User avatar
javiexin
Code Contributor
Posts: 1157
Joined: Wed Oct 12, 2011 11:46 pm
Location: Madrid, Spain
Name: Javier
Contact:

Re: Image upload

Post by javiexin »

In my Profile Fields Image Upload code, you can find an example.
https://github.com/javiexin/advancedpf/ ... #L148-L173

It has the equivalent for 3.1 as well.

Maybe some of the things you want to accomplish with this extension can be done with my "Advanced Profile Fields"... Not all, for sure. But maybe... Take a look.
-javiexin
User avatar
Ger
Registered User
Posts: 2108
Joined: Wed Jan 02, 2008 7:35 pm
Location: 192.168.1.100
Contact:

Re: Image upload

Post by Ger »

You might want to take a look at the upload function for cmBB
My extensions:
Simple CMS, Feed post bot, Avatar Resize, Modbreak, Magic OGP, Live topic update, Modern Quote, Quoted Where (GDPR) and Autoresponder.
Newest: FAQ manager for 3.2

Like my work? Buy me a coffee to keep it coming. :ugeek:

-Don't PM me for support-
User avatar
RMcGirr83
Former Team Member
Posts: 22016
Joined: Wed Jun 22, 2005 4:33 pm
Location: Your display
Name: Rich McGirr

Re: Image upload

Post by RMcGirr83 »

Former Modifications/Extensions Team Member | My extensions | github | All requests for support via PM will be ignored
Appreciate the extensions/mods/support then buy me a beer Image
Kuzia
Registered User
Posts: 33
Joined: Sat Dec 31, 2016 6:59 pm
Location: Moscow
Name: Alex

Re: Image upload

Post by Kuzia »

Still did not find where is my mistake.

I'm always getting filespec object after handle_upload, but if I try to get some property like realname or filesize via $file->get['prop'] - it's empty. I've tried to get file from the request by $this->request->file('input_name') with the same outcome. But in request object my form input name always equal to uploaded file filename. I'm definitely not understand this behavior...
Kuzia
Registered User
Posts: 33
Joined: Sat Dec 31, 2016 6:59 pm
Location: Moscow
Name: Alex

Re: Image upload

Post by Kuzia »

Lvl 90 of stupidity, forgot about encrypt in main form...
Post Reply

Return to “Extension Writers Discussion”