JPEG data transfer question - SPI & ArduCAM

Hello I am working with ArduCAM, Arduino Mega, and ESP32. I've tested the Camera using the demo software and it is able to take a picture. The problem I am having is that I am trying to send the image byte data over WIFI, but I am not getting a proper image.

I am reading data through SPI from an ArduCAM camera. As I read, I Serial.print() the bytes as they come through from my Arduino Mega to my ESP32.

The code which reads from the camera is shown below

uint8_t read_fifo_burst(ArduCAM myCAM)
{
  uint8_t temp = 0, temp_last = 0;
  uint32_t length = 0;

  length = myCAM.read_fifo_length();
  Serial.println(length, DEC);

  myCAM.CS_LOW();
  myCAM.set_fifo_burst();//Set fifo burst mode

  temp =  SPI.transfer(0x00);
  length --;

  while ( length-- )
  {
    temp_last = temp;
    temp =  SPI.transfer(0x00);
    if (is_header == true)
    {
      Serial.write(temp);
    }
    else if ((temp == 0xD8) & (temp_last == 0xFF))
    {
      is_header = true;
      //Serial.println(F("ACK CMD IMG END"));
      Serial.write(temp_last);
      Serial.write(temp);
    }
    if ( (temp == 0xD9) && (temp_last == 0xFF) ) //If find the end ,break while,
      break;
    delayMicroseconds(15);
  }

  myCAM.CS_HIGH();
  is_header = false;
  return 1;
}

I then transfer this data byte by byte to the ESP32. I get the same numbers on both serial monitors so I know the transfer is good.

An example of the numbers is shown below. (Had to remove some numbers in middle to meet forum character count). Full numbers can be found 255 216 255 224 0 16 74 70 73 70 0 1 1 1 0 0 0 0 0 0 255 219 0 67 0 12 8 9 11 9 - Pastebin.com

255 216 255 224 0 16 74 70 73 70 0 1 1 1 0 0 0 0 0 0 255 219 0 67 0 12 8 9 11 9 8 12 11 10 11 14 13 12 14 18 30 20 18 17 17 18 37 26 28 22 30 44 38 46 45 43 38 42 41 48 54 69 59 48 51 65 52 41 42 60 82 61 65 71 74 77 78 77 47 58 85 91 84 75 90 69 76 77 74 255 219 0 67 1 13 14 14 18 16 18 35 20 20 35 74 50 42 50 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 74 255 196 0 31 0 0 1 5 1 1 1 1 1 1 0 0 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 11 255 196 0 181 16 0 2 1 3 3 2 4 3 5 5 4 4 0 0 1 125 1 2 3 0 4 17 5 18 33 49 65 6 19 81 97 7 34 113 20 50 129 145 161 8 35 66 177 193 21 82 209 240 36 51 98 114 130 9 10 22 23 24 25 26 37 38 39 40 41 42 52 53 54 55 56 57 58 67 68 69 70 71 72 73 74 83 84 85 86 87 88 89 90 99 100 101 102 103 104 105 106 115 116 117 118 119 120 121 122 131 132 133 134 135 136 137 138 146 147 148 149 150 151 152 153 154 162 163 164 165 166 167 168 169 170 178 179 180 181 182 183 184 185 186 194 195 196 197 198 199 200 201 202 210 211 212 213 214 215 216 217 218 225 226 227 228 229 230 231 232 233 234 241 242 243 244 245 246 247 248 249 250 255 196 0 31 1 0 3 1 1 1 1 1 1 1 1 1 0 0 0 0 0 0 1 2 3 4 5 6 7 8 9 10 11 255 196 0 181 17 0 2 1 2 4 4 3 4 7 5 4 4 0 1 2 119 0 1 2 3 17 4 5 33 49 6 18 65 81 7 97 113 19 34 50 129 8 20 66 145 161 177 193 9 35 51 82 240 21 98 114 209 10 22 36 52 225 37 241 23 24 25 26 38 39 40 41 42 53 54 55 56 57 58 67 68 69 70 71 72 73 74 83 84 85 86 87 88 89 90 99 100 101 102 103 104 105 106 115 116 117 118 119 120 121 122 130 131 132 133 134 135 136 137 138 146 147 148 149 150 151 152 153 154 162 163 164 165 166 167 168 169 170 178 179 180 181 182 183 184 185 186 194 195 196 197 198 199 200 201 202 210 211 212 213 214 215 216 217 218 226 227 228 229 230 231 232 233 234 242 243 244 245 246 247 248 249 250 255 192 0 17 8 0 120 0 160 3 1 33 0 2 17 1 3 17 1 255 218 0 12 3 1 0 2 17 3 17 0 63 0 242 252 210 102 144 131 52 80 1 75 64 5 20 192 40 160 2 151 20 0 152 163 20 0 98 147 20 0 98 140 82 1 41 40 17 38 218 54 208 33 118 209 182 129 134 218 49 64 11 182 140 80 2 226 140 80 1 138 49 64 9 69 0 37 37 0 20 148 0 148 148 1 38 105 51 64 135 102 140 208 1 154 76 208 48 221 70 105 140 55 81 186 144 131 52 153 166 48 205 38 104 16 102 155 154 6 25 162 129 9 73 72 99 169 41 128 234 90 4 33 162 128 10 40 24 81 64 5 20 0 148 80 1 73 64 5 20 0 148 82 1 212 148 196 61 23 52 242 132 80 34 58 41 20 20 83 0 162 128 10 40 0 164 1
... 63 206 6 144 13 243 5 84 185 125 213 72 97 107 167 180 195 117 50 242 215 236 212 92 101 38 124 212 176 219 187 243 84 202 38 104 93 69 84 99 206 41 18 36 99 113 197 91 251 47 203 154 67 35 22 196 208 108 217 105 8 103 146 106 57 98 219 64 18 136 131 115 81 204 155 106 192 140 26 112 52 12 120 38 151 115 122 210 16 190 99 250 208 28 228 19 76 103 73 163 202 157 61 106 109 102 211 206 128 226 178 234 73 203 11 119 143 168 169 163 188 72 248 53 99 122 142 146 253 30 168 187 228 211 26 65 20 187 90 175 253 176 109 165 97 52 58 11 164 207 53 123 206 137 214 165 162 25 93 60 188 213 91 242 129 105 1 155 20 248 169 152 239 90 212 208 175 156 26 120 106 0 153 24 84 188 82 16 194 69 54 129 151 52 251 159 46 64 43 171 183 144 92 66 51 81 34 12 109 105 22 44 145 222 185 103 229 141 92 77 16 222 105 217 52 198 25 165 221 64 9 186 164 23 46 180 132 57 110 216 84 114 206 100 164 77 136 42 72 228 193 170 45 146 144 26 163 206 40 16 229 122 210 182 179 51 199 157 221 105 9 146 13 46 70 56 205 85 186 183 107 83 205 48 32 243 49 93 6 145 122 193 115 218 166 66 101 109 110 240 77 242 214 48 166 138 232 33 166 26 99 13 164 138 102 40 0 163 105 52 0 173 19 40 166 10 144 63 255 217

If I convert these numbers to base64 encoding, I get what is shown below. The problem is that this isn't a recognizable image.

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

Does anyone have any tips on where I should look next to figure out what is wrong? I've tried reversing a base64 image to binary, and some numbers are 8-bit and some are 16-bit, but there is seemingly no rhyme or reason.

Have You collected the received data into a file and compared to the original?

By the way, supply the entire code. Too often things outside a clip are important to know about.