Actualmente estoy usando project awesome para hacer pop un formulario que solicita un número de cuenta.MVC CSV File Download + Project Awesome
tomo el número y generar un archivo csv y enviar al navegador:
string billcsv = "account_ref,line1,line2,line3"
var VIRFile = File(new System.Text.UTF8Encoding().GetBytes(billcsv), "text/csv", "billfor" + accnumber+ ".csv")
return Json(VIRFile);
me gustaría que el usuario final se le pide que guarde el archivo csv, pero no puedo averiguar quién.
¿Debo crear primero el archivo CSV en el disco y luego pasar la url al archivo a la función de éxito y usar window.open (url) o es posible usar javascript para volver a crear el archivo del resultado json?
JSON Resultado:
{ "FileContents": [65,99,99,111,117,110,116,95,82,69,70,44,73,78,86,79,73,67,69,95 , 84,89,80,69,44,73,78,86,79,73,67,69,95,82,69,70,44,81,84,89,95,79,82,68,69 , 82,44,83,69,82,86,73,67,69,95,84,69,88,84,44,85,78,73,84,95,80,82,73,67,69 , 44,83,69,82,86,73,67,69,95,65,77,79,85,78,84,13,10,114,114,114,44,73,110,118,111,105,99,101,44,86,73,82,49 , 48,50,44,49,44,83,116,97,114,83,104,105,112,32,32,79,110,101,13,10,44,76,79,65,32,45,32,32,109,116,114,115,13,10,44,71 , 82,84,32,45,71,84,44,48,44,48,44,48,13,10,114,114,114,44,73,110,118,111,105,99,101,44,86,73,82,49,48,50,44 , 50,44,66,111,97,116,32,84,114,97,110,115,102,101,114,115,32,72,105,114,101,32,67,104,97,114,103,101,44,50,53,48,46,48,48,4 4,53,48,48,46,48,48,13,10,114,114,114,44,73,110,118,111,105,99,101,44,86,73,82,49,48,50,44,51,44,66,101,114,116,104,105,110,103,32,32, 82,70,65,32,47,32,77,111,68,44,51,53,48,46,48,48,44,49,48,53,48,46,48,48,13,10] , "ContentType": "text/csv", "FileDownloadName": "billfor123.csv"}
La razón por la que utilizo un pop-up forma es porque los usuarios tiene que introducir un número de cuenta antes de que pueda generar el CSV. el número de cuenta forma parte del campo account_ref. el número de cuenta no se conoce hasta que el usuario ingrese el número de cuenta. – uk101man
@ uk101man, su problema no proviene del hecho de que está utilizando un formulario emergente. Viene del hecho de que estás enviando este formulario usando AJAX. No deberías estar haciendo esto. Use un helper '@ Html.BeginForm()' para generar el formulario y no use ningún AJAX para publicarlo. –
pero la forma ajax es lo que el proyecto usa increíble, creo. Cuando implemente su idea, el contenido del archivo csv se devuelve a la ventana emergente. – uk101man