You seem to have confused yourself as to what you are trying to do.
byte[] image = new byte[stream.Length + 1];
stream.Read(image, 0, image.Length);
So at this point you have a byte array which contains the resized picture data that was uploaded by the user.
You then do this;
image = uploadcollogo.FileName.Substring(uploadcollogo.FileName.IndexOf('/') + 1);
What is it you think you are attempting to do here?
What it looks like is you are wanting to get the name of the file without the path information if this is correct you need to create another variable which is a string such as
fileName
and look at
Path.GetFileName[
^] don't try to assign the name of the file to the byte array containing the data it will not work.
string fileName = Path.GetFileName(uploadcollogo.FileName);
This bit has the same problem you are trying to assign a string to a byte array
Byte[] image1 = "~/collegelogo/" + image.ToString();
Try this instead.
string relativeFilePath = "~/collegelogo/" + fileName;