Na veel zoeken, googlen, proberen en testen ben ik aan het eind van mijn latijn en vestig ik mijn hoop op jullie mede-gotters.
Ik ben bezig om met webdav mail uit te lezen en deze te importeren in een CRM systeem.
Alles goed en wel, behalve het inserten van de attachments in de database.
Dit gaat goed en geeft geen problemen.
Zodra ik echter de bijlage in een tabel INSERT (column van type image) dan krijg ik geen foutmelding te zien, het record blijft gewoon leeg. Probeer ik in dit record een String, int of iets anders te INSERTEN krijg ik wel netjes een foutmelding.
Dan ga je toch denken dat je INSERT method bugged is, dit heb ik als volgt getest:
En ja hoor, ik zie dan netjes 0x74657374 in het record staan.
De byte array klopt, de insert method klopt. Wat zie ik over het hoofd?
Het zal ongetwijfeld iets kleins zijn, maar ik zie het niet meer.
PS:
Geen idee waarom, maar ik kan geen code=c# tags gebruiken voor de bovenste tags. Krijg dan een time-out.
quotes op de laatste regel buggen de boel...
Ik ben bezig om met webdav mail uit te lezen en deze te importeren in een CRM systeem.
Alles goed en wel, behalve het inserten van de attachments in de database.
C#:
1
2
3
4
5
6
7
8
9
10
11
| //Attachment downloaden System.Net.WebClient webClient = new System.Net.WebClient(); webClient.Credentials = MyCredentialCache; webClient.Headers.Add("user-agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.2; .NET CLR 1.0.3705;)"); webClient.Headers.Add("Translate", "F"); //HrefNodes[i].InnerText is de URI van de attachment byte[] bijlage = webClient.DownloadData(HrefNodes[i].InnerText); //attachment lokaal opslaan (ook als test om te zien of de byte array correct gevuld is System.IO.File.WriteAllBytes(@C:\temp\ + filename, bijlage); //quotes weggelaten om c:\temp vanwege code=c# bugje ofzo |
Dit gaat goed en geeft geen problemen.
Zodra ik echter de bijlage in een tabel INSERT (column van type image) dan krijg ik geen foutmelding te zien, het record blijft gewoon leeg. Probeer ik in dit record een String, int of iets anders te INSERTEN krijg ik wel netjes een foutmelding.
Dan ga je toch denken dat je INSERT method bugged is, dit heb ik als volgt getest:
C#:
1
2
| ASCIIEncoding enc = new ASCIIEncoding(); byte[] bijlage = enc.GetBytes("test"); |
En ja hoor, ik zie dan netjes 0x74657374 in het record staan.
De byte array klopt, de insert method klopt. Wat zie ik over het hoofd?
Het zal ongetwijfeld iets kleins zijn, maar ik zie het niet meer.
PS:
Geen idee waarom, maar ik kan geen code=c# tags gebruiken voor de bovenste tags. Krijg dan een time-out.
quotes op de laatste regel buggen de boel...

[ Voor 4% gewijzigd door Xiliath op 20-05-2010 21:56 ]