The stream comes from the html form via ajax var jqXHR = data.submit();
public static GetWordPlainText(Stream readStream,string filePath) { WordprocessingDocument.Open(readStream, readStream.CanRead); } [HttpPost] public ActionResult FileUpload() { var MyFile = Request.Files[0]; if (Request.Files.Count > 0 && MyFile != null) { GetWordPlainText(Request.InputStream); } }
I get this error:
The package cannot be opened because the FileMode or FileAccess value is not valid for the stream.
I google Cannot open the package because the FileMode or FileAccess value is not valid for the stream, but cannot find anything useful. Any ideas?
PS: Initially, I simplified the code to be posted here a lot. An if statement has been added to erase Sten Petrov's anxiety. I hope Request.File.count> 0 draws attention to its problem ... I still have the same problem ...
UPDATE
As a job, I followed the tip below and saved the file in a directory, then I use openxml to read it from the directory
var MyFile = Request.Files[0]; var path = Path.Combine(Server.MapPath("~/App_Data/temp"), MyFile.FileName); using (MemoryStream ms = new MemoryStream()) {
then WordprocessingDocument.Open has an implementation for the file path, so WordprocessingDocument.Open(path); I hope you understand what I have done for future people who have problems.
c # openxml openxml-sdk
hidden
source share