2017-07-31 40 views
0

我有这个问题,它很容易将内容添加到URL,但如何提取它如何使用Rails或Javascript

http://localhost:3000/pages/wish?url=file:///Users/ruelnopal/Desktop/sitetest/index.html&image=http://zalora-media-live-ph.s3.amazonaws.com/product/89/6948/1.jpg&price=PHP%C2%A0799.00&desc=Polo%20shirt%20with%20contrast%20tip,%20Collared%20neckline,%20Unlined,%20Regular%20fit&title=Pique%20Tipping%20Polo%20Shirt&display=popup 

我尝试提取网址图像提取URL内容

回答

0

这里,将返回所有PARAMS在URL

function getUrlParams(url) { 

    // get query string from url (optional) or window 
    var queryString = url ? url.split('?')[1] : window.location.search.slice(1); 

    // we'll store the parameters here 
    var obj = {}; 

    // if query string exists 
    if (queryString) { 

    // stuff after # is not part of query string, so get rid of it 
    queryString = queryString.split('#')[0]; 

    // split our query string into its component parts 
    var arr = queryString.split('&'); 

    for (var i=0; i<arr.length; i++) { 
     // separate the keys and the values 
     var a = arr[i].split('='); 

     // in case params look like: list[]=thing1&list[]=thing2 
     var paramNum = undefined; 
     var paramName = a[0].replace(/\[\d*\]/, function(v) { 
     paramNum = v.slice(1,-1); 
     return ''; 
     }); 

     // set parameter value (use 'true' if empty) 
     var paramValue = typeof(a[1])==='undefined' ? true : a[1]; 

     // (optional) keep case consistent 
     paramName = paramName.toLowerCase(); 
     paramValue = paramValue.toLowerCase(); 

     // if parameter name already exists 
     if (obj[paramName]) { 
     // convert value to array (if still string) 
     if (typeof obj[paramName] === 'string') { 
      obj[paramName] = [obj[paramName]]; 
     } 
     // if no array index number specified... 
     if (typeof paramNum === 'undefined') { 
      // put the value on the end of the array 
      obj[paramName].push(paramValue); 
     } 
     // if array index number specified... 
     else { 
      // put the value at that index number 
      obj[paramName][paramNum] = paramValue; 
     } 
     } 
     // if param name doesn't exist yet, set it 
     else { 
     obj[paramName] = paramValue; 
     } 
    } 
    } 

    return obj; 
} 
1

下面的函数是一个简单的实现The N:

const queryString = location.search.substring(1) //the part after the "?" 
const queryParams = queryString.split('&') 
//Creates a mapping of params to values 
const query = new Map(queryParams.map(param => param.split('='))) 
console.log(query.get('url')) //"file:///Users/ruelnopal/Desktop/sitetest/index.html" 
console.log(query.get('image')) //"http://zalora-media-live-ph.s3.amazonaws.com/product/89/6948/1.jpg" 
0

尝试使用OpenURI模块

require "open-uri" 

File.open('my_image.png', 'wb') do |fo| 
    fo.write open("https://upload.wikimedia.org/wikipedia/commons/5/53/Wikipedia-logo-en-big.png").read 
end