c# - FileStream writing buffer to file -
i'm trying upload .srt file through api takes file parameter.
the file stored on server, , i'm using filestream , streamwriter write it:
string path = server.mappath("~/app_data/captions/" + entryid) + ".srt"; filestream f = new filestream(path, filemode.openorcreate, fileaccess.readwrite); streamwriter s = new streamwriter(f); s.write(somestring); f.flush() // connecting api , uploading file s.close(); however, though file created correctly on server, uploaded file empty. if file exists, upload file correctly contain existing content, , not additional text added somestring.
i thought f.flush() ensure data in streamwriter written , saved file, doesn't seem case.
what have make sure data written file before uploaded through api?
you're flushing f, not s. you're flushing filestream, streamwriter wraps that, have own buffer. don't forget filestream doesn't know streamwriter - relationship other way round.
it's not clear why you're uploading file before close streamwriter, honest. use:
file.writealltext(path, somestring); // upload if do want use filestream , streamwriter, i'd advise use using statements instead of manually closing things, too...
Comments
Post a Comment