问题
I have implemented the jQuery file upload plugin with a php framework it was relatively straight forward following the instructions.
https://github.com/blueimp/jQuery-File-Upload
My question is specifically towards the PHP class, When the images upload they upload into my framework folder (where the php script is executed). What I want to know is if there is a way to set the path where images will be uploaded to.
This is the class in question.
https://github.com/blueimp/jQuery-File-Upload/blob/master/server/php/UploadHandler.php
It is included in the jQuery file upload repository.
回答1:
You can do it in two ways: 1.. by changing the line 40 in server / php / UploadHandler.php and put the directory you want
'upload_dir' => dirname($this->get_server_var('SCRIPT_FILENAME')).'/files/',
2.. by adding the upload dir as parameter when initializing the class
$options = array ('upload_dir' => dirname(__FILE__) . '/uploaddir/');
$upload_handler = new UploadHandler($options);
回答2:
Add these options to your UploadHandler() function. Make sure to add "/" to end of path.
$upload_handler = new UploadHandler(array(
'upload_dir' => '/Your/absolute/upload/folder/path/',
'upload_url' => '/url/of/above/path/',
'script_url' => '/url/of/uploadhandler/script',
'accept_file_types' => '/\.(jpe?g|png)$/i'
));
回答3:
I found by changing the path located in UploadHandeler.php on lines 40 and 41 this changed the specified path.
回答4:
You can override the callback function as per
$('#fileupload').fileupload({
add: function (e, data) {
var jqXHR = data.submit()
.success(function (result, textStatus, jqXHR) {/* ... */})
.error(function (jqXHR, textStatus, errorThrown) {/* ... */})
.complete(function (result, textStatus, jqXHR) {/* ... */});
}
});
In the above example it is simply doing a form submit.
来源:https://stackoverflow.com/questions/18478053/how-do-i-change-the-default-upload-path-for-jquery-file-upload