Bonjour,
ok, tout fonctionne, en fait pour résumer, j'ai utilisé la nouvelle
version de swfUpload (2.10 -> swfupload.org), qui n'utilise pas de form,
ma vue:
<?php echo $html->css(array('default')); ?>
<script type="text/javascript"
src="http://localhost/workspace/cake/webroot/js/swfupload/swfupload.js"></script>
<script type="text/javascript"
src="http://localhost/workspace/cake/webroot/js/swfupload/swfupload.graceful_degradation.js"></script>
<script type="text/javascript"
src="http://localhost/workspace/cake/webroot/js/swfupload/swfupload.queue.js"></script>
<script type="text/javascript"
src="http://localhost/workspace/cake/webroot/js/swfupload/fileprogress.js"></script>
<script type="text/javascript"
src="http://localhost/workspace/cake/webroot/js/swfupload/handlers.js"></script>
<script type="text/javascript"
src="http://localhost/workspace/cake/webroot/js/swfupload/init.js"></script>
<div id="wrapper">
<div id="contentContainer">
<div id="flashUI" style="display: none;">
<fieldset class="flash" id="fsUploadProgress">
<legend>Large File Upload Site</legend>
</fieldset>
<div>
<input type="button" value="Upload file (Max 100 MB)"
onclick="swfupload.selectFiles()" style="font-size: 8pt;" />
<input id="btnCancel" type="button" value="Cancel
Uploads" onclick="cancelQueue(swfupload);" disabled="disabled"
style="font-size: 8pt;" />
</div>
</div>
</div>
</div>
et configurer mon swfUpload (init.js) ainsi:
var swfupload;
window.onload = function() {
swfupload = new SWFUpload({
// Backend Settings
upload_url:
"http://localhost/workspace/cake/index.php/assets/upload", //
Relative to the SWF file (or you can use absolute paths)
post_params: {"PHPSESSID" : "565d68d0c53f1f8bfaa6e485cfaea317"},
// File Upload Settings
file_size_limit : "102400", // 100MB
file_types : "*.*",
file_types_description : "All Files",
file_upload_limit : "10",
file_queue_limit : "0",
// Event Handler Settings (all my handlers are in the Handler.js
file)
file_dialog_start_handler : fileDialogStart,
file_queued_handler : fileQueued,
file_queue_error_handler : fileQueueError,
file_dialog_complete_handler : fileDialogComplete,
upload_start_handler : uploadStart,
upload_progress_handler : uploadProgress,
upload_error_handler : uploadError,
upload_success_handler : uploadSuccess,
upload_complete_handler : uploadComplete,
// Flash Settings
flash_url :
"http://localhost/workspace/cake/webroot/js/swfupload/swfupload_f9.swf",
// Relative to this file (or you can use absolute paths)
swfupload_element_id : "flashUI", // Setting from
graceful degradation plugin
degraded_element_id : "degradedUI", // Setting from graceful
degradation plugin
custom_settings : {
progressTarget : "fsUploadProgress",
cancelButtonId : "btnCancel"
},
// Debug Settings
debug: true
});
}
bon tout est en dur (ce qui est important : upload_url:
"http://localhost/workspace/cake/index.php/assets/upload"), mais on va
"adoucir" tout ceci;-)
merci à tous en tout cas
francky06l a écrit :
> UN resource a propos de SWFupload:
>
> http://blogs.bigfish.tv/adam/2008/04/01/cakephp-12-sessions-and-swfupload/
>
> On Jul 20, 11:20 pm, francky06l <[EMAIL PROTECTED]> wrote:
>
>> Tu peux aussi utiliser $form->create en precisant 'type' => ''file"
>> dans les parametres...
>>
>> On Jul 20, 8:09 pm, Pierre MARTIN <[EMAIL PROTECTED]> wrote:
>>
>>
>>> Dans le formulaire essaye de modifier :
>>> <?php print $html->file("Filedata"); ?>
>>> en
>>> <?php print $form->file("Filedata"); ?>
>>>
>>> Bonne journée
>>> Pierre
>>>
>>> On 20 juil, 11:05, bertrand kempf <[EMAIL PROTECTED]> wrote:
>>>
>>>> re Bonjour,
>>>>
>>>> alors j'ai changé le modèle de "File" vers "Asset", je n'ai plus qu'une
>>>> erreur en utilisant cette vue:
>>>>
>>>> <?php echo $javascript->codeBlock("
>>>> var swfupload_url = '" . $html->url('/js/swfupload/SWFUpload.swf') .
>>>> "';
>>>> var upload_url = '" . $html->url('/assets/upload') . "';
>>>> var file_info_url = '" . $html->url('/assets/info') . "';"); ?>
>>>> <?php echo $javascript->link('swfupload/SWFUpload'); ?>
>>>> <?php echo $javascript->link('swfupload/init'); ?>
>>>> <div id="wrapper">
>>>>
>>>> <div id="contentContainer">
>>>> <div id="SWFUploadTarget">
>>>> <form action="<?php echo $html->url('/assets/upload') ?>"
>>>> method="post" onsubmit="return false" enctype="multipart/form-data">
>>>> <?php print $html->file("Filedata"); ?>
>>>>
>>>> <input type="submit" value="Upload" />
>>>> </form>
>>>> </div>
>>>> <div id="SWFUploadFileListingFiles">
>>>> </div>
>>>> </div>
>>>>
>>>> </div>
>>>>
>>>> *Warning* (512) <javascript:void(0);>: Method HtmlHelper::file does not
>>>> exist [*CORE\cake\libs\view\helper.php*, line *148*]
>>>>
>>>> je progresse mais bon ce n'est pas cela encore.....
>>>>
>>>> Pierre MARTIN a écrit :
>>>>
>>>>> A première vue, je me demande si il n'y aurait pas un problème avec la
>>>>> classe File de Cake ...
>>>>> En tout cas, avant de voir si cela vient du Helper javascript, essaye
>>>>> de faire tout simplement un bloc <script type="text/javascript> et d'y
>>>>> afficher le code dedans, sans passer par le helper. Tu verras bien si
>>>>> il y a toujours l'erreur ou non.
>>>>>
>>>>> Sinon, tu peux renommer Files en Fichiers et tout ce qui s'en suit.
>>>>> J'essaierai de suivre le tutorial demain afin de voir si j'ai un
>>>>> problème ou non de mon côté.
>>>>>
>>>>> Bonne soirée,
>>>>> Pierre
>>>>>
>>>>> On 19 juil, 17:18, bertrand kempf <[EMAIL PROTECTED]> wrote:
>>>>>
>>>>>> Hello,
>>>>>>
>>>>>> premièrement, merci de te pencher sur mon cas.
>>>>>>
>>>>>> En fait j'ai tester ainsi :
>>>>>>
>>>>>> <?php echo $javascript->codeBlock(""); ?> tout simplement, et j'obtiens
>>>>>> la même erreur.....
>>>>>>
>>>>>> donc, est-ce les helpers qui ont changé, et du coup ce tuto qui porte
>>>>>> sur cake 1.1 ne va plus
>>>>>>
>>>>>> soit, je ne vois pas;-)
>>>>>>
>>>>>> francky06l a écrit :
>>>>>>
>>>>>>> Tout cela semble venir de ta string pour le codeBlock. Soit sur que ce
>>>>>>> soit une seule string, et pas comme je pense, un array de string.
>>>>>>>
>>>>>>> <?php echo $javascript->codeBlock("
>>>>>>> var swfupload_url = '" . $html->url('/js/swfupload/
>>>>>>> SWFUpload.swf') . "';
>>>>>>> var upload_url = '" . $html->url('/files/upload') . "';
>>>>>>> var file_info_url = '" . $html->url('/files/info') . "';"); ?>
>>>>>>>
>>>>>>> Essaye de creer un string avec un variable genre:
>>>>>>>
>>>>>>> $js = 'var swfupload_url = "'. $html->url('/js/'/js/swfupload/
>>>>>>> SWFUpload.swf') .'";';
>>>>>>> $js .= ' var upload_url = "' . $html->url('/files/upload') . '";';
>>>>>>> $js .= ' var file_info_url = "' . $html->url('/files/info') .
>>>>>>> '";").';'; ?>
>>>>>>>
>>>>>>> Enfin en gros que je crois que la string que tu genere n'est pas
>>>>>>> propre concernant les guillemets et ; ..
>>>>>>> Essaye de generer ca dans une string, et fait $this->Log($js) just
>>>>>>> apres. Regarde dans /tmp/logs/error.log et verifies la syntaxe de ta
>>>>>>> string..
>>>>>>>
>>>>>>> Franck
>>>>>>>
>>>>>>> On Jul 19, 9:52 am, bertrand kempf <[EMAIL PROTECTED]> wrote:
>>>>>>>
>>>>>>>> Bonjour,
>>>>>>>>
>>>>>>>> en fait voilà ce que j'ai fait:
>>>>>>>>
>>>>>>>> 1- j'ai créé mon composant (app/controllers/components/swf_upload.php),
>>>>>>>> en copiant collant bêtement le contenu proposé
>>>>>>>>
>>>>>>>> 2- j'ai créé ma table files (comme indiqué dans le tuto)
>>>>>>>>
>>>>>>>> 3- j'ai créé un model files (via la console) et mon contrôleur lié,
>>>>>>>> mais
>>>>>>>> en fait c'est la vue qui pose problème....
>>>>>>>>
>>>>>>>> j'ai simplement créé une action index dans mon contrôleur, pour
>>>>>>>> intégrer
>>>>>>>> ceci:
>>>>>>>>
>>>>>>>> <?php echo $javascript->codeBlock("
>>>>>>>> var swfupload_url = '" . $html->url('/js/swfupload/SWFUpload.swf')
>>>>>>>> . "';
>>>>>>>> var upload_url = '" . $html->url('/files/upload') . "';
>>>>>>>> var file_info_url = '" . $html->url('/files/info') . "';"); ?>
>>>>>>>> <?php echo $javascript->link('swfupload/swfupload'); ?>
>>>>>>>> <?php echo $javascript->link('swfupload/init'); ?>
>>>>>>>> <div id="wrapper">
>>>>>>>>
>>>>>>>> <div id="contentContainer">
>>>>>>>> <div id="SWFUploadTarget">
>>>>>>>> <form action="<?php echo $html->url('/files/upload') ?>"
>>>>>>>> method="post" onsubmit="return false" enctype="multipart/form-data">
>>>>>>>> <?php print $html->file("Filedata"); ?>
>>>>>>>>
>>>>>>>> <input type="submit" value="Upload" />
>>>>>>>> </form>
>>>>>>>> </div>
>>>>>>>> <div id="SWFUploadFileListingFiles">
>>>>>>>> </div>
>>>>>>>> </div>
>>>>>>>>
>>>>>>>> comme indiqué dans le tuto, mais voilà, j'obtiens ceci comme erreurs:
>>>>>>>>
>>>>>>>> *Notice* (8) <javascript:void(0);>: Array to string conversion
>>>>>>>> [*CORE\cake\libs\file.php*, line *90*]
>>>>>>>>
>>>>>>>> Code <javascript:void(0);> | Context <javascript:void(0);>
>>>>>>>>
>>>>>>>> $path = array(
>>>>>>>> "id" => false,
>>>>>>>> "table" => null,
>>>>>>>> "ds" => null,
>>>>>>>> "alias" => "File",
>>>>>>>> "name" => "File"
>>>>>>>> )
>>>>>>>> $create = false
>>>>>>>> $mode = 493
>>>>>>>>
>>>>>>>> dirname - [internal], line ??
>>>>>>>> File::__construct() - CORE\cake\libs\file.php, line 90
>>>>>>>> ClassRegistry::init() - CORE\cake\libs\class_registry.php, line 128
>>>>>>>> Controller::loadModel() - CORE\cake\libs\controller\controller.php,
>>>>>>>> line 446
>>>>>>>> Controller::constructClasses() -
>>>>>>>> CORE\cake\libs\controller\controller.php, line 397
>>>>>>>> Dispatcher::dispatch() - CORE\cake\dispatcher.php, line 215
>>>>>>>> require - APP\webroot\index.php, line 90
>>>>>>>> [main] - APP\index.php, line 25
>>>>>>>>
>>>>>>>> *Notice* (8) <javascript:void(0);>: Array to string conversion
>>>>>>>> [*CORE\cake\libs\file.php*, line *91*]
>>>>>>>>
>>>>>>>> Code <javascript:void(0);> | Context <javascript:void(0);>
>>>>>>>>
>>>>>>>> $path = array(
>>>>>>>> "id" => false,
>>>>>>>> "table" => null,
>>>>>>>> "ds" => null,
>>>>>>>> "alias" => "File",
>>>>>>>> "name" => "File"
>>>>>>>> )
>>>>>>>> $create = false
>>>>>>>> $mode = 493
>>>>>>>>
>>>>>>>> is_dir - [internal], line ??
>>>>>>>> File::__construct() - CORE\cake\libs\file.php, line 91
>>>>>>>> ClassRegistry::init() - CORE\cake\libs\class_registry.php, line 128
>>>>>>>> Controller::loadModel() - CORE\cake\libs\controller\controller.php,
>>>>>>>> line 446
>>>>>>>> Controller::constructClasses() -
>>>>>>>> CORE\cake\libs\controller\controller.php, line 397
>>>>>>>> Dispatcher::dispatch() - CORE\cake\dispatcher.php, line 215
>>>>>>>> require - APP\webroot\index.php, line 90
>>>>>>>> [main] - APP\index.php, line 25
>>>>>>>>
>>>>>>>> *Warning* (2) <javascript:void(0);>: basename() expects parameter 1 to
>>>>>>>> be string, array given [*CORE\cake\libs\file.php*, line *92*]
>>>>>>>>
>>>>>>>> Code <javascript:void(0);> | Context <javascript:void(0);>
>>>>>>>>
>>>>>>>> $path = array(
>>>>>>>> "id" => false,
>>>>>>>> "table" => null,
>>>>>>>> "ds" => null,
>>>>>>>> "alias" => "File",
>>>>>>>> "name" => "File"
>>>>>>>> )
>>>>>>>> $create = false
>>>>>>>> $mode = 493
>>>>>>>>
>>>>>>>> basename - [internal], line ??
>>>>>>>> File::__construct() - CORE\cake\libs\file.php, line 92
>>>>>>>> ClassRegistry::init() - CORE\cake\libs\class_registry.php, line 128
>>>>>>>> Controller::loadModel() - CORE\cake\libs\controller\controller.php,
>>>>>>>> line 446
>>>>>>>> Controller::constructClasses() -
>>>>>>>> CORE\cake\libs\controller\controller.php, line 397
>>>>>>>> Dispatcher::dispatch() - CORE\cake\dispatcher.php, line 215
>>>>>>>> require - APP\webroot\index.php, line 90
>>>>>>>> [main] - APP\index.php, line 25
>>>>>>>>
>>>>>>>> *Notice* (8) <javascript:void(0);>: Undefined variable: javascript
>>>>>>>> [*APP\views\files\index.ctp*, line *1*]
>>>>>>>>
>>>>>>>> Code <javascript:void(0);> | Context <javascript:void(0);>
>>>>>>>>
>>>>>>>> $___viewFn =
>>>>>>>> "D:\xampp\htdocs\workspace\cake\views\files\index.ctp"
>>>>>>>> $___dataForView = array()
>>>>>>>> $loadHelpers = true
>>>>>>>> $cached = false
>>>>>>>> $loadedHelpers = array(
>>>>>>>> "Html" => HtmlHelper
>>>>>>>> HtmlHelper::$tags = array
>>>>>>>> HtmlHelper::$base = "/workspace/cake/index.php"
>>>>>>>> HtmlHelper::$here = "/workspace/cake/index.php/files"
>>>>>>>> HtmlHelper::$params = array
>>>>>>>> HtmlHelper::$action = "index"
>>>>>>>> HtmlHelper::$data = NULL
>>>>>>>> HtmlHelper::$_crumbs = array
>>>>>>>> HtmlHelper::$__docTypes = array
>>>>>>>> HtmlHelper::$helpers = NULL
>>>>>>>> HtmlHelper::$webroot = "/workspace/cake/webroot/"
>>>>>>>> HtmlHelper::$themeWeb = NULL
>>>>>>>> HtmlHelper::$plugin = NULL
>>>>>>>> HtmlHelper::$namedArgs = NULL
>>>>>>>> HtmlHelper::$argSeparator = NULL
>>>>>>>> HtmlHelper::$validationErrors = NULL
>>>>>>>> HtmlHelper::$__tainted = NULL
>>>>>>>> HtmlHelper::$__cleaned = NULL
>>>>>>>> HtmlHelper::$_log = NULL,
>>>>>>>> "Form" => FormHelper
>>>>>>>> FormHelper::$helpers = array
>>>>>>>> FormHelper::$fieldset = array
>>>>>>>> FormHelper::$__options = array
>>>>>>>> FormHelper::$fields = array
>>>>>>>>
>> ...
>>
>> read more »
>>
> >
>
>
--~--~---------~--~----~------------~-------~--~----~
Groupe "Cakephp-fr".
Adresse : [email protected]
Pour résilier : [EMAIL PROTECTED]
Pour les options : http://groups.google.com/group/cakephp-fr?hl=fr
-~----------~----~----~----~------~----~------~--~---