Sto lavorando a un'app Web e è necessario eseguire lo streaming di vari file. Posso fare pdf, immagini e vecchi documenti di Office. Tuttavia, quando provo a fare con i documenti del 2007, si rompe. Ecco il mio codice:Come si esegue lo streaming di un file Excel 2007 o Word 2007 tramite asp.net e C#
Response.Buffer = true;
Response.Clear();
Response.ClearContent();
Response.ClearHeaders();
switch (FileExtension.ToLower())
{
case "pdf":
Response.ContentType = "application/pdf";
break;
case "doc":
Response.ContentType = "application/msword";
break;
case "docx":
Response.ContentType = "application/vnd.ms-word.document.12";
break;
case "xls":
Response.ContentType = "application/vnd.ms-excel";
break;
case "xlsx":
Response.ContentType = "application/vnd.ms-excel.12";
break;
default:
Response.ContentType = "image/jpeg";
break;
}
Response.BinaryWrite(buffer);
L'errore che ottengo è:
An invalid character was found in text content. Error processing resource 'http://DomainName/GetFile.aspx... PK
Qualche suggerimento?
Provato questo ed è leggermente migliore. Sto almeno ricevendo la finestra di dialogo apri/salva/annulla. Tuttavia, se clicco su un file docx, non ottengo altro che una pagina html vuota. Se si fa clic su Salva nella finestra di dialogo, salvarlo in un file, quindi aprirlo, faccio clic su alcuni messaggi di errore e poi ottengo il file giusto. Per i file xlsx, se si salva e poi si apre, ottengo la stessa cosa di docx, cioè alcuni messaggi di errore che si aprono. Tuttavia, se faccio clic su Apri sul file xlsx, devo fare clic su alcuni errori, quindi Excel si apre, ma invece dei dati, ho la mia pagina di login – Kevin
ho aggiunto codice di esempio che funziona. –
Questo l'ha fatto. Perché funziona così e non l'altro modo è al di là di me, ma sono troppo occupato per preoccuparmi del momento. – Kevin