したがって、ブロブをサーバーに保存するには、Chrome に記録された WAV ファイルをサーバーに保存することを参照しています。しかし、この PHP 文を C# に翻訳することはできません。
<?php
// get the temporary name that PHP gave to the uploaded file
$tmp_filename=$_FILES["that_random_filename.wav"]["tmp_name"];
// rename the temporary file (because PHP deletes the file as soon as it's done with it)
rename($tmp_filename,"/tmp/uploaded_audio.wav");
?>
これが私がこれまでに試したことです
意見
var fd = new FormData();
fd.append("that_random_filename.wav", blob);
xhr.open("POST", "SubmitSound", true);
xhr.send(fd);
モデルを見る
public class SoundBlob
{
public string key { get; set; }
public HttpPostedFileBase blob { get; set; } // I tried byte[] and string too
}
コントローラ
[HttpPost]
public ActionResult SubmitSound(SoundBlob blob)
{
// Create the new, empty data file.
string fileName = AppDomain.CurrentDomain.BaseDirectory + "/Content/Sound/" + Environment.TickCount + ".wav";
FileStream fs = new FileStream(fileName, FileMode.CreateNew);
BinaryWriter w = new BinaryWriter(fs);
blob.blob.SaveAs(blob.key);
w.Close();
fs.Close();
return new JsonResult() { Data = "Saved successfully" };
}
key
とblob
の両方SoundBlob
が null です。どうすれば修正できますか?