Je sais que cette question a été posée et a répondu, mais j'ai un problème différent. J'ai une application en ce moment qui ne charge pas les images qui sont supérieures à 5mp mais charge les plus petites. Je ne suis pas sûr si son 5MP ou plus de 1 Mo, Im assez sûr de son MP si, j'ai testé. Comment puis-je charger des images de toutes tailles? Mon code est ci-dessous, S'il vous plaît aider, s'il vous plaît code postal pas des liens, de doit à des liens, puis des liens vers le code qui peut aider. Merci!android développement chargement Images de l'URL
Téléchargement de l'image @Override protégé Bitmap doInBackground (Object ... objets) { InputStream est = null; BufferedInputStream bis = null;
Bitmap bmp = null;
try {
URL url = new URL(Pictureurl);
URLConnection conn = url.openConnection();
conn.connect();
is = conn.getInputStream();
bis = new BufferedInputStream(is);
bmp = BitmapFactory.decodeStream(bis);
return bmp;
} catch (MalformedURLException e) {
return null;
} catch (IOException e) {
return null;
}
}
@Override
protected void onPostExecute(Object resizedBitmap) {
MainPicture.setImageBitmap((Bitmap) resizedBitmap);
connectionProgressDialog.dismiss();
}
l'image Téléchargement
SaveNewPicture public boolean (String SelectedFile, String UpdatedPhotoPath) {
HttpURLConnection conn = null;
DataOutputStream dos = null;
DataInputStream inStream = null;
@SuppressWarnings("unused")
String Message = null; // Chemin complet du nom de fichier à télécharger sur le serveur String exsistingFileName = SelectedFile;
String lineEnd = "\r\n";
String twoHyphens = "--";
String boundary = "*****";
int bytesRead, bytesAvailable, bufferSize;
byte[] buffer;
int maxBufferSize = 1*1024*1024;
@SuppressWarnings("unused")
Chaîne responseFromServer = "";
//Server path to the upload.php
String urlString = "http://www.thelinkhookup.com/upload.php";
try
{
//------------------ CLIENT REQUEST
FileInputStream fileInputStream = new FileInputStream(new File(exsistingFileName));
// open a URL connection to the Servlet
URL url = new URL(urlString);
// Open a HTTP connection to the URL
conn = (HttpURLConnection) url.openConnection();
// Allow Inputs
conn.setDoInput(true);
// Allow Outputs
conn.setDoOutput(true);
// Don't use a cached copy.
conn.setUseCaches(false);
// Use a post method.
conn.setRequestMethod("POST");
conn.setRequestProperty("Connection", "Keep-Alive");
conn.setRequestProperty("Content-Type", "multipart/form-data;boundary="+boundary);
dos = new DataOutputStream(conn.getOutputStream());
dos.writeBytes(twoHyphens + boundary + lineEnd);
dos.writeBytes("Content-Disposition: form-data; name=\"uploadedfile\";filename=\"" + exsistingFileName +"\"" + lineEnd);
dos.writeBytes(lineEnd);
System.out.println("Headers are written");
// create a buffer of maximum size
bytesAvailable = fileInputStream.available();
bufferSize = Math.min(bytesAvailable, maxBufferSize);
buffer = new byte[bufferSize];
// read file and write it into form...
bytesRead = fileInputStream.read(buffer, 0, bufferSize);
while (bytesRead > 0)
{
dos.write(buffer, 0, bufferSize);
bytesAvailable = fileInputStream.available();
bufferSize = Math.min(bytesAvailable, maxBufferSize);
bytesRead = fileInputStream.read(buffer, 0, bufferSize);
}
// send multipart form data necesssary after file data...
dos.writeBytes(lineEnd);
dos.writeBytes(twoHyphens + boundary + twoHyphens + lineEnd);
// close streams
System.out.println("File is written");
fileInputStream.close();
dos.flush();
dos.close();
}
catch (MalformedURLException ex)
{
return false;
}
catch (IOException ioe)
{
Message = ioe.toString();
return false;
}
//------------------ read the SERVER RESPONSE
try {
inStream = new DataInputStream (conn.getInputStream());
String str;
while ((str = inStream.readLine()) != null)
{
//the str contains the server response
System.out.println("Server Response"+str);
}
inStream.close();
//Message = "Should Have Worked";
}
catch (IOException ioex){
return false;
}
try{
HttpClient client = new DefaultHttpClient();
HttpPost request = new HttpPost("http://thelinkhookup.com/UpdatePhotoName.php");
List<NameValuePair> postParameters = new ArrayList<NameValuePair>();
postParameters.add(new BasicNameValuePair("Username", MyGlobalInfomation.getUsername()));
postParameters.add(new BasicNameValuePair("Photopath", UpdatedPhotoPath));
postParameters.add(new BasicNameValuePair("localphotopath",SelectedFile));
UrlEncodedFormEntity formEntity = new UrlEncodedFormEntity(postParameters);
request.setEntity(formEntity);
@SuppressWarnings("unused")
HttpResponse réponse = client.exécute (requête); if (SelectedFile! = Null || SelectedFile! = "") { MyGlobalInfomation.setLocalPhotoPath (fichier sélectionné); } } catch (Exception e) { return false; } return true; }
Ils ont dit non. Cela a donc quelque chose à voir avec le code. Quelqu'un a mentionné quelque chose à propos de BitmapFactory.Options.intsamplesize. Vous pensez que cela pourrait aider? Si oui, changez un peu mon code pour me montrer un exemple. S'il vous plaît aider, c'est la dernière chose que je ne peux pas comprendre. – Maurice
J'ai essayé cela aussi, mais pas de chance BitmapFactory.Options size = new BitmapFactory.Options(); \t \t \t \t \t size.inSampleSize = 1; \t \t \t \t \t bmp = BitmapFactory.decodeStream (bis, null, taille); – Maurice