Bonjour à tous,

Je développe une application web J2EE basée sur struts, utilisant principalement des jsp et de l'ajax pour le frontend et des servlet java pour le backend.
J'ai développé une fonctionalité qui permet à l'utilisateur d'uploader un fichier de données brut (CSV) sur le site pour qu'il soit parsé et affiché comme il faut.
J'utilise pour ce faire le plugin ajaxfileupload de jquery. Tout fonctionne très bien en local, mais il ne se passe rien sur la version en ligne : il semblerait que le fichier ne soit pas transmis au backend pour le parsing.
C'est très étrange et pas facile à debugger. Quelqu'un aurait-il eu le même problème, ou aurait-il un début d'explication?

Voici le bout de code que j'utilise, si ca peut aider...

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
var UICreateUploadForm = function(id, uploadServletName, choiceLabel) {
	var div = jQuery("<div style='float:none; clear:both; height: 50px; margin:0px;'>");	
 
	var labelDiv = jQuery("<div>");
		labelDiv.addClass("uploadLabel");
		labelDiv.html(choiceLabel);	
 
	var formDiv = jQuery("<div>");
		formDiv.addClass("uploadFormDiv");
		formDiv.append(jQuery('<form enctype="multipart/form-data" onsubmit="return false;" action="'+uploadServletName+'" method="POST">'));
 
	var fieldSet = jQuery('<fieldSet style="border:0px">');
	var olList = jQuery('<ol>');
	var listItem = jQuery('<li class="upload_item" id="'+id+'_upload" style="display:none;">');
	var fileInput = jQuery('<input name="myFile" id="'+id+'" type="file">');
	listItem.append(fileInput);
	var submitButton = UIAppendButton(listItem);
	submitButton.click(function(){
		UIAjaxFileUpload(id, uploadServletName);
	});
	olList.append(listItem);
	if (id == ID_MYROUTES) {
		debug("my routes...");
	} else {
		UICreateChoiceBox(fieldSet, "select_source_"+id, "", myDataSourceList, 'doChangeMyDataSource(event, "'+id+'")');
	}
	UIAppendSpinner(olList, id);
	fieldSet.append(olList);
	//form.append(fieldSet);
	formDiv.append(fieldSet);
	div.append(labelDiv);
	div.append(formDiv);
	doChangeMyDataSourceToDatabase(id);
	return div;
}
 
var UIAjaxFileUpload = function(id, uploadServlet) {
	debug("ajaxFileUpload -> "+uploadServlet);
	getLoadingSpinner(id).ajaxStart(function(){
		$(this).show();
	}).ajaxComplete(function(){
		$(this).hide();
	});
	$.ajaxFileUpload ( {
		url:uploadServlet, 
		secureuri:false,
		fileElementId:id,
		dataType: 'json',
		success: function (data, status) {
			UICreateMyDataResultItemsTable(id, data, status);
		},
		error: function (data, status, e) {
			UIUploadFailed(id, data, status, e);
		}
	});
	return false;
}
Merci pour votre aide, A+
gZg