2016-11-27 4 views
-1

vb.netのmvcアプリケーションのヘルプが必要です。一般的に言えば、私はビューを通して画像を受け取り、それをコントローラ上で動作させる必要があります。イメージをバイト配列に変換してOracleデータベースに保存するには、これを行う必要があります。だから私の考えは、画像を取得し、それをバイト配列に変換するか、あるいは画像をバイト配列として取得し、その配列をコントローラに渡してデータベースに保存することです。このようなvbhtmlビューのイメージをバイト配列として取得し、oracleデータベースに保存します。

何かその私のビュー:

<div class="span11">  
      <div class="span4" id="depnac"> 
       @Html.LabelFor(Function(m) m.DepNacPER) 
       @Html.DropDownListFor(Function(m) m.DepNacPER, Model.DepNacPER, New With {.class = "form-control"}) 
     </div> 

と、これは私のモデルである:

<Display(Name:="Region of birth")> 
<Required(ErrorMessage:="you must select a option")> 
Property DepNacPER As SelectList 

答えて

0

私は今、それが画像をアップロードASP.NETコアアプリケーションに取り組んでいます。イメージは、コントローラを介して要求を介してStreamとして送信されます。私はそのStreamからImageオブジェクトを作成していますが、そのデータを直接読み取ることができます。つまり、Imageオブジェクトを作成して、データが有効なイメージであることを確認することができます。

ここでは、ビューのスクリプトからいくつかの関連するコードです:

function uploadImage() 
{ 
    // This is a file upload control in a hidden div. 
    var image = $("#imageFile"); 

    if (image[0].files.length > 0) 
    { 
     var formData = new FormData(); 

     formData.append(image[0].files[0].name, image[0].files[0]); 

     var xhr = new XMLHttpRequest(); 

     xhr.open("POST", "@Url.Content("~/events/uploadimage")"); 
     xhr.send(formData); 
     xhr.onreadystatechange = function() 
     { 
      if (xhr.readyState === 4 && xhr.status === 200) 
      { 
       var response = JSON.parse(xhr.responseText); 

       if (response.saveSuccessful) 
       { 
        // ... 
       } else 
       { 
        window.location.replace("@Url.Content("~/error")"); 
       } 
      } 
     } 
     xhr.onerror = function(err, result) 
     { 
      alert("Error: " + err.responseText); 
     } 
    } 
} 

は、私は力仕事をして、いくつかのjQueryを使ってそのコードを置き換えるプロセスにいるよ、まだそこまで持っていません。

ここでアクションから、いくつかの関連するコードです:

[HttpPost] 
    public IActionResult UploadImage() 
    { 
     var requestForm = Request.Form; 
     StringValues tempImageFileNames; 
     string tempImageFileName = null; 
     string imageUrl = null; 
     var saveSuccessful = true; 
     var requestFiles = requestForm.Files; 

     if (requestFiles.Count > 0) 
     { 
      // A file has been uploaded. 
      var file = requestFiles[0]; 

      using (var stream = file.OpenReadStream()) 
      { 
       try 
       { 
        using (var originalImage = System.Drawing.Image.FromStream(stream)) 
        { 
         // Do whatever you like with the Image here. 
        } 
       } 
       catch (Exception) 
       { 
        saveSuccessful = false; 
       } 
      } 
     } 

     if (saveSuccessful) 
     { 
      return Json(new {saveSuccessful, tempImageFileName, imageUrl}); 
     } 
     else 
     { 
      return Json(new {saveSuccessful}); 
     } 
    } 

は申し訳ありませんが、あなたがVBコードの後に​​していることを最初に私には発生しなかった、これは、C#です。うまくいけば、あなたはまだアイデアを得ることができ、誰かが答えを嫌うなら、ヒットします。

関連する問題