2014-10-29 24 views
0

我試圖讓用戶上傳圖像到我的網站。我發現了一個演示,但它是用PHP編寫的。我在Webmatrix中使用CSHTML,它似乎與PHP文件不兼容。有沒有人有任何資源,建議,或鏈接到信息編寫類似的代碼如下,但與Webmatrix/ASP.NET兼容的格式?另外,有沒有辦法在文件上傳時重命名文件並將其保存到特定位置?將PHP轉換爲用於文件上傳的ASP.Net

當允許用戶上傳到網站時,我應該採取哪些安全防範措施?

$fn = (isset($_SERVER['HTTP_X_FILENAME']) ? $_SERVER['HTTP_X_FILENAME'] : false); 

if ($fn) { 

    // AJAX call 
    file_put_contents(
     'uploads/' . $fn, 
     file_get_contents('php://input') 
    ); 
    echo "$fn uploaded"; 
    exit(); 

} 
else { 

    // form submit 
    $files = $_FILES['fileselect']; 

    foreach ($files['error'] as $id => $err) { 
     if ($err == UPLOAD_ERR_OK) { 
     $fn = $files['name'][$id]; 
     move_uploaded_file(
      $files['tmp_name'][$id], 
      'uploads/' . $fn 
     ); 
     echo "<p>File $fn uploaded.</p>"; 
     } 
    } 

} 

回答

0

使用fileupload.js背後

<script src="@Url.Content("/Scripts/jquery.fileupload.js")" type="text/javascript"></script> 

<input type="file" name="resume" onchange="onChangeResume()" id="txtImageUpload" style="width: 76px;" /> 

function onChangeResume(){ 
    $('#txtImageUpload').fileupload({ 
        dataType: 'json', 
        url: '/CandidateManagement.aspx/ImageUpload', 
        autoUpload: true, 
        done: function (e, data) { 

         //Statements 

        } 
       }); 
} 

代碼

HttpPostedFileBase resume = Request.Files["txtImageUpload"]; 
     if (resume != null && resume.ContentLength > 0) 
     { 
      var fileName = Path.GetFileName(resume.FileName); 
      var path = Path.Combine(Server.MapPath("~/Resumes"), fileName);//you can give what ever you want 
      resume.SaveAs(path); 
     } 
+0

謝謝你的回覆!我不確定在哪裏放置上面的代碼。我正在從sitepoint的拖放模型中找到:http://www.sitepoint.com/html5-file-drag-and-drop/。基於該方法,我應該在哪裏插入您的建議代碼?謝謝。 – user44129 2015-02-14 05:36:19