I have a project in Asp Net Core 3.1. I want to convert the downloaded mp3 files (of the IFormFile type) to hexadecimal.
What is the best way to do this?
For converting IFormFile to hexadecimal, first IFormFile to byte array conversion is needed. Later, It can easily be converted to a hexadecimal string.
Code:
public async Task FileToHexaConversion(IFormFile file)
{
await using var memoryStream = new MemoryStream();
await file.CopyToAsync(memoryStream);
var byteArray = memoryStream.ToArray(); //Byte Array Conversion
string hexString = BitConverter.ToString(byteArray); //Hexadecimal String Conversion
Console.WriteLine(hexString.Replace('-', ' '));
}
Note: Here, I replaced the hyphen separator with space.
Related
I am trying to convert base64 string to image in .net core but the resulted image is corrupted
Following is my code
if (!String.IsNullOrEmpty(model.Image))
{
string filePath = Path.Combine(_hostingEnvironment.ContentRootPath+"/Image" , model.ImageName);
System.IO.File.WriteAllBytes(filePath, Convert.FromBase64String(model.Image));
}
is there any other method to create image from base64 string and save to server in asp.net core?
I have tried your code and it works well.You could try below correct base64string to have a test and check whether you have a correct base64string
var image = "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";
var bytes = Convert.FromBase64String(image);
string filePath = Path.Combine(_hostingEnvironment.ContentRootPath + "/Image" , "testImage.jpeg");
using (var imageFile = new FileStream(filePath, FileMode.Create))
{
imageFile.Write(bytes, 0, bytes.Length);
imageFile.Flush();
}
I am creating an XmlDoc in C# and using Newtonsoft to serialize to JSON. It works, but I am getting a bunch of what appear to be "NUL"'s at the end of the JSON. No idea why. Anyone seen this before?
CODE:
XmlDocument xmlDoc = BuildTranslationXML(allTrans, applicationName, language);
// Convert the xml doc to json
// the conversion inserts \" instead of using a single quote, so we need to replace it
string charToReplace = "\"";
string jsonText = JsonConvert.SerializeXmlNode(xmlDoc);
// json to a stream
MemoryStream memoryStream = new MemoryStream();
TextWriter tw = new StreamWriter(memoryStream);
tw.Write(jsonText);
tw.Flush();
tw.Close();
// output the stream as a file
string fileName = string.Format("{0}_{1}.json", applicationName, language);
return File(memoryStream.GetBuffer(), "text/json", fileName);
The file is served up to the calling web page and the browser prompts the user to save the file. When opening the file, it displays the correct JSON but also has all the trailing nulls. See image below (hopefully the stackoverflow link works):
file screenshot
The GetBuffer() method returns the internal representation of the MemoryStream. Use ToArray() instead to get just the part of that internal array that has data Newtonsoft has put in there.
I'm using WCF, REST and "pretty URI's" as shown in this blog post with the Online Template for VS 2010 .NET 4.0:
http://christopherdeweese.com/blog2/post/drop-the-soap-wcf-rest-and-pretty-uris-in-net-4
I have one problem though.
I want to return a a raw byte[] array but it automatically gets base64 encoded.
Unfortunately for my program base64 encoding is not acceptable because it will be too computationally intensive.
Is there a way for me to tell WCF NOT to base64 encode?
[WebGet(UriTemplate = "{id}")]
public byte[] Get(string id)
{
byte[] data = new byte[1024];
return data;
}
Appears to my web browser as:
AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA==
Use Stream as your return type.
i have compressed an xml file and converted it into base64 format in web page.then i have passed the base64 string to windows application and converted it to unbase64 format.now i want to decompress this string in windows form only.
i have done the following in windows
dim decoded as byte()
decoded=convert.frombase64string(strreturndata) // strreturndata is base64 string
dim decoders as string
decoders = encoding.utf8.getstring(decoded)
now i want to decompress this string using gzip stream class in windows form
If you want to get back the Base64 string, use this.
Try this:
byte[] x = Convert.FromBase64String(decodedString);
string mytext = System.Encoding.utf8.getstring(x, 0, x.length)
If you need to do more compression, you can use Gzip compression and decompression or DeflateStream class.
is there a way to convert byte[] to its original file format?
Byte[] tempByte = new Byte[content.Length];
tempByte = Convert.FromBase64String(content);
If you have a Base64 encoded string, then yes Convert.FromBase64String will give you back a byte array identical to the one that was converted to a Base64 string.
However, your first line is unnecessary. You are allocating an array equal to the length of content which just gets overwritten by the return value from Convert.FromBase64String.
byte[] tempByte = Convert.FromBase64String(content);
File.WriteAllBytes(path, tempByte);
The byte array should already be having what you originally read from the file. Write the byte array to a file on the disk and you should be good to go!