FTP Uploading with Safari
Hi.
I'm new to mac, and can't seem to upload files to FTP sites (for website hosting/updates etc)
On my old windows machine, I could just drag & drop the files onto the FTP site, but safari won't even let me open the FTP site at all.
Any ideas or suggestions would be appreciated.
Here are a couple of other sites discussing your issues:
http://www.macosxhints.com/article.php?story=20030108100758649
http://forums.macosxhints.com/archive/index.php/t-53431.html
Similar Messages
-
One file maximum for uploads with Safari, Opera, FireFox and Chrome to OneDive
Some Windows 7 users have complained to they can only mark one file maximum for uploading with Safari, Opera, FireFox and Chrome to OneDive
Hi,
You mean that you access OneDrive via web browser?
From my tests, everything is normal and it seems there is no setting in browser to configure this number.
if I misunderstand this issue, please give us more information on it.
Alex Zhao
TechNet Community Support -
Is it possible to upload a partiular file, in this case a
users answer file, to an FTP site with out any interaction from the
user. For example, when they are done the test, upload the answer
file to an FTP site (without using cold fusion or asp or
.net)?I have downloaded the coded and converted it to work with
Flex 3 (changed it to WindowedApplication, and updated the
FlexFTP-app.xml file). When i run it, I get the following:
220 jpl Microsoft FTP Service (Version 5.0).
USER jhughes
331 Password required for jhughes.
PASS *****
230 User jhughes logged in.
PASV
227 Entering Passive Mode (66,109,241,93,12,42).
LIST
125 Data connection already open; Transfer starting.
226 Transfer complete.
TYPE I
200 Type set to I.
PASV
227 Entering Passive Mode (66,109,241,93,12,43).
STOR //test.txt
550 /test.txt: Access is denied.
It allows me to connect when I have the correct password but
it will not allow me to upload or download files. Any ideas? -
When I try to upload, via Fetch, Dreamweaver, whatever, the upload times out. I am wired (ethernet) to a router and out via DSL. The PC on the same router is sometimes slow on the upload, but nothing like the mac.
any help?
thanks.Update.
I tested the ftp upload with success through a different network.
The issue seems to be a known bug in the Thomson modem from my ISP.
The modem will be exchanged. -
Uploading files to website not working with Safari in Windows 7
Safari version: 5.1.7
OS: Windows 7
Hi,
I am a website owner, and I have a feature on my site where users can upload large (up to 50MB) music files to my server. The feature works in Firefox on OSX & Windows platforms and it also works in Safari on OSX. The uploading feature is not working with Safari for Windows. Do you have any idea why and how to fix this? It can't be an issue with my server as it works in other browsers fine and works fine in Safari for OS X.
If you have any information on how to solve this or things for me to try to rectify this for use with Windows operating system it would be much appreciated.
Thanks.GREAT NEWS!!!!
I have solved this issue myself with some help from my a user on Microsoft Forums. The issue stems from the mime type of each Browser Chrome, IE, & Safari for Windows defaults as audio/wav. When the mime type is changed to audio/x-wav everything works. Firefox defaults to audio/x-wav and when changed to audio/wav it DOES NOT work.
Once I input some code in my .php upload page to change the mimetype if audio/wav is detected everything works GREAT!!!
So Here is what you need to do: Find your upload page and input this code:
echo "<p>MIME Type: ".$_FILES["file"]["type"]."</p>";
right before your "If/then" statement of file type. For me it was near line 30 in my upload.php page, but I'm sure this is different for everyone.
This will detect and DISPLAY the default mime type of your browser on the error page when your upload doesn't work. Once you know what mime type works for your file type then you can change your "if/then" statement for mime type upload to change your mime type to the correct one.
I don't want to give the code here, because I'm sure it's specific to your file types and your site construction, but this should lead you on the right track.
***This is the solution if you ARE NOT ABLE to upload any certain file in a certain Browser. It has to do with mime type construction***
I hope this helps others like it helped me!!!!! -
How do I automatically upload files to an FTP server with Compressor 4?
So I've been using Compressor 4 in order to compress some videos into a manageable size for streaming. However, I've been trying to figure out how to set up an automatic FTP upload to the program Transmit through Compressor 4, but have been running into roadblocks. When choosing a destination by using the plus icon in the destinations tab, the choice of local or remote no longer appears. Also, when going to the actions tab in the Inspector box, the option to "Execute Applescript" is also gone.
Has anyone found a way around this yet? I have no experience with Automator, so I am hesitatnt in spending the time to learn a new program just to make the process of compressing and uploading more efficient.Hi Nick.
I'm afraid it went missing in the 4.0.3 update for whatever reason. Unless you have a way of rolling C back one version, you'll either have to write a work-around or see whether it re-appears in a future version.
Also, http://www.apple.com/feedback/compressor.html
Russ -
Hi I am using a ftp class (known as FTPConnection) that i found on this site: http://www.nsftools.com/tips/JavaFtp.htm , and they only have an example of how to download a File through FTP and not upload one. I am in the proccess of making an FTP upload applet, and need some help on getting upload to work. I also need it to work on both a Pc and mac, so that may be attributing to the problem becuase i am currently on a mac which uses file:// instead of C:\\. Ill post the ftp class, and a snippet of my code that tries to upload a selected file.
FTPConnection
/* <!-- in case someone opens this in a browser... --> <pre> */
* File: FTPConnection.java
* Author: Bret Taylor <[email protected]>
* URL: http://www.stanford.edu/~bstaylor/cs/ftpconnection/FTPConnection.java.shtml
* see also <a href="http://www.nsftools.com/tips/JavaFtp.htm">http://www.nsftools.com/tips/JavaFtp.htm</a>
* $Id$
* Parts of this code were adopted from a variety of other FTP classes the
* author has encountered that he was not completely satisfied with. If you
* think more thanks are due to any particular author than is given, please
* let him know. With that caveat, this class can be freely distributed and
* modified as long as Bret Taylor is given credit in the source code comments.
* Modified by Julian Robichaux -- http://www.nsftools.com
* Added constructors, logout(), listFiles(), listSubdirectories(), getAndParseDirList(),
* processFileListCommand(), and overloaded getFullServerReply().
* Also added StringBuffer parameter options to transferData() and executeDataCommand()
* and did a few other little things.
import java.io.*;
import java.net.*;
import java.util.*;
* <p>A wrapper for the network and command protocols needed for the most common
* FTP commands. Standard usage looks something like this:</p>
* <pre> FTPConnection connection = new FTPConnection();
* try {
* if (connection.connect(host)) {
* if (connection.login(username, password)) {
* connection.downloadFile(serverFileName);
* connection.uploadFile(localFileName);
* connection.disconnect();
* } catch (UnknownHostException e) {
* // handle unknown host
* } catch (IOException e) {
* // handle I/O exception
* }</pre>
* <p>Most FTP commands are wrapped by easy-to-use methods, but in case clients
* need more flexibility, you can execute commands directly using the methods
* <a href="#executeCommand(java.lang.String)">executeCommand</a> and
* <a href="#executeDataCommand(java.lang.String,
* java.io.OutputStream)">executeDataCommand</a>,
* the latter of which is used for commands that require an open data port.</p>
* @author Bret Taylor
* @author Julian Robichaux
* @version 1.01
public class FTPConnection extends Object {
* If this flag is on, we print out debugging information to stdout during
* execution. Useful for debugging the FTP class and seeing the server's
* responses directly.
private static boolean PRINT_DEBUG_INFO = false;
* The socket through which we are connected to the FTP server.
private Socket connectionSocket = null;
private String username;
private String password;
private String host;
* The socket output stream.
private PrintStream outputStream = null;
* The socket input stream.
private BufferedReader inputStream = null;
* The offset at which we resume a file transfer.
private long restartPoint = 0L;
* Added by Julian: If this flag is on, we're currently logged in to something.
private boolean loggedIn = false;
* Added by Julian: This is the line terminator to use for multi-line responses.
public String lineTerm = "\n";
* Added by Julian: This is the size of the data blocks we use for transferring
* files.
private static int BLOCK_SIZE = 4096;
* Added by Julian: After you create an FTPConnection object, you will call the
* connect() and login() methods to access your server. Please don't forget to
* logout() and disconnect() when you're done (it's only polite...).
public FTPConnection ()
// default constructor (obviously) -- this is just good to have...
* Added by Julian: Allows you to specify if you want to send debug output to
* the console (true if you do, false if you don't).
public FTPConnection (boolean debugOut)
PRINT_DEBUG_INFO = debugOut;
public FTPConnection (String user, String pw, String host_)
username=user;
password=pw;
host=host_;
PRINT_DEBUG_INFO = false;
* Prints debugging information to stdout if the private flag
* <code>PRINT_DEBUG_INFO</code> is turned on.
private void debugPrint(String message) {
if (PRINT_DEBUG_INFO) System.err.println(message);
* Connects to the given FTP host on port f, the default FTP port.
public boolean connect(String host)
throws UnknownHostException, IOException
return connect(host, 21);
* Connects to the given FTP host on the given port.
public boolean connect(String host, int port)
throws UnknownHostException, IOException
connectionSocket = new Socket(host, port);
connectionSocket.setSoTimeout(10000);
outputStream = new PrintStream(connectionSocket.getOutputStream());
inputStream = new BufferedReader(new
InputStreamReader(connectionSocket.getInputStream()));
if (!isPositiveCompleteResponse(getServerReply())){
disconnect();
return false;
return true;
* Disconnects from the host to which we are currently connected.
static boolean URLexists(String URLName)
try
HttpURLConnection.setFollowRedirects(false);
// note : you may also need
// HttpURLConnection.setInstanceFollowRedirects(false)
HttpURLConnection con =
(HttpURLConnection) new URL(URLName).openConnection();
con.setRequestMethod("HEAD");
return (con.getResponseCode() == HttpURLConnection.HTTP_OK);
catch (Exception e)
e.printStackTrace();
return false;
public String getSimpleFileName(File f)
String path=f.getPath();
String fileName=path.replace("\\", "/");
int slashPos = fileName.lastIndexOf("/");
fileName=fileName.substring(slashPos+1);
return fileName;
public String verifyFileName(String name)
int count=0;
//String url="http://chris-malcolm.com/images/"+URLEncoder.encode(name).replace("+", "%20");
while (URLexists("http://chris-malcolm.com/images/"+URLEncoder.encode(name).replace("+", "%20"))==true)
count++;
name=FileExt(name)[0]+"-"+count+"."+FileExt(name)[1];
return name;
public String[] FileExt(String fileName)
int dotPos = fileName.lastIndexOf(".");
fileName=fileName.replace("\\", "/");
int slashPos = fileName.lastIndexOf("/");
String extension, name;
if (slashPos==fileName.length()-1)
fileName=fileName.substring(0, fileName.length()-1);
slashPos=fileName.lastIndexOf("/");
extension="/";
name=fileName.substring(slashPos+1);
else if(dotPos==-1)
name=fileName.substring(slashPos+1);
extension="";
else
extension = fileName.substring(dotPos+1);
name=fileName.substring(slashPos+1, dotPos);
String[] output={name, extension};
return output;
String[] output={name, extension};
return output;
public void disconnect()
if (outputStream != null) {
try {
if (loggedIn) { logout(); };
outputStream.close();
inputStream.close();
connectionSocket.close();
} catch (IOException e) {}
outputStream = null;
inputStream = null;
connectionSocket = null;
* Wrapper for the commands <code>user [username]</code> and <code>pass
* [password]</code>.
public boolean login(String username, String password)
throws IOException
int response = executeCommand("user " + username);
if (!isPositiveIntermediateResponse(response)) return false;
response = executeCommand("pass " + password);
loggedIn = isPositiveCompleteResponse(response);
return loggedIn;
* Added by Julian: Logout before you disconnect (this is good form).
public boolean logout()
throws IOException
int response = executeCommand("quit");
loggedIn = !isPositiveCompleteResponse(response);
return !loggedIn;
* Wrapper for the command <code>cwd [directory]</code>.
public boolean changeDirectory(String directory)
throws IOException
int response = executeCommand("cwd " + directory);
return isPositiveCompleteResponse(response);
* Wrapper for the commands <code>rnfr [oldName]</code> and <code>rnto
* [newName]</code>.
public boolean renameFile(String oldName, String newName)
throws IOException
int response = executeCommand("rnfr " + oldName);
if (!isPositiveIntermediateResponse(response)) return false;
response = executeCommand("rnto " + newName);
return isPositiveCompleteResponse(response);
* Wrapper for the command <code>mkd [directory]</code>.
public boolean makeDirectory(String directory)
throws IOException
int response = executeCommand("mkd " + directory);
return isPositiveCompleteResponse(response);
* Wrapper for the command <code>rmd [directory]</code>.
public boolean removeDirectory(String directory)
throws IOException
int response = executeCommand("rmd " + directory);
return isPositiveCompleteResponse(response);
* Wrapper for the command <code>cdup</code>.
public boolean parentDirectory()
throws IOException
int response = executeCommand("cdup");
return isPositiveCompleteResponse(response);
* Wrapper for the command <code>dele [fileName]</code>.
public boolean deleteFile(String fileName)
throws IOException
int response = executeCommand("dele " + fileName);
return isPositiveCompleteResponse(response);
* Wrapper for the command <code>pwd</code>.
public String getCurrentDirectory()
throws IOException
String response = getExecutionResponse("pwd");
StringTokenizer strtok = new StringTokenizer(response);
// Get rid of the first token, which is the return code
if (strtok.countTokens() < 2) return null;
strtok.nextToken();
String directoryName = strtok.nextToken();
// Most servers surround the directory name with quotation marks
int strlen = directoryName.length();
if (strlen == 0) return null;
if (directoryName.charAt(0) == '\"') {
directoryName = directoryName.substring(1);
strlen--;
if (directoryName.charAt(strlen - 1) == '\"')
return directoryName.substring(0, strlen - 1);
return directoryName;
* Wrapper for the command <code>syst</code>.
public String getSystemType()
throws IOException
return excludeCode(getExecutionResponse("syst"));
* Wrapper for the command <code>mdtm [fileName]</code>. If the file does
* not exist, we return -1;
public long getModificationTime(String fileName)
throws IOException
String response = excludeCode(getExecutionResponse("mdtm " + fileName));
try {
return Long.parseLong(response);
} catch (Exception e) {
return -1L;
* Wrapper for the command <code>size [fileName]</code>. If the file does
* not exist, we return -1;
public long getFileSize(String fileName)
throws IOException
String response = excludeCode(getExecutionResponse("size " + fileName));
try {
return Long.parseLong(response);
} catch (Exception e) {
return -1L;
* Wrapper for the command <code>retr [fileName]</code>.
public boolean downloadFile(String fileName)
throws IOException
return readDataToFile("retr " + fileName, fileName);
* Wrapper for the command <code>retr [serverPath]</code>. The local file
* path to which we will write is given by <code>localPath</code>.
public boolean downloadFile(String serverPath, String localPath)
throws IOException
return readDataToFile("retr " + serverPath, localPath);
* Wrapper for the command <code>stor [fileName]</code>.
public boolean uploadFile(String fileName)
throws IOException
return writeDataFromFile("stor " + fileName, fileName);
* Wrapper for the command <code>stor [localPath]</code>. The server file
* path to which we will write is given by <code>serverPath</code>.
public boolean uploadFile(String serverPath, String localPath)
throws IOException
return writeDataFromFile("stor " + serverPath, localPath);
* Set the restart point for the next download or upload operation. This
* lets clients resume interrupted uploads or downloads.
public void setRestartPoint(int point)
restartPoint = point;
debugPrint("Restart noted");
* Gets server reply code from the control port after an ftp command has
* been executed. It knows the last line of the response because it begins
* with a 3 digit number and a space, (a dash instead of a space would be a
* continuation).
private int getServerReply()
throws IOException
return Integer.parseInt(getFullServerReply().substring(0, 3));
* Gets server reply string from the control port after an ftp command has
* been executed. This consists only of the last line of the response,
* and only the part after the response code.
private String getFullServerReply()
throws IOException
String reply;
do {
reply = inputStream.readLine();
debugPrint(reply);
} while(!(Character.isDigit(reply.charAt(0)) &&
Character.isDigit(reply.charAt(1)) &&
Character.isDigit(reply.charAt(2)) &&
reply.charAt(3) == ' '));
return reply;
* Added by Julian: Returns the last line of the server reply, but also
* returns the full multi-line reply in a StringBuffer parameter.
private String getFullServerReply(StringBuffer fullReply)
throws IOException
String reply;
fullReply.setLength(0);
do {
reply = inputStream.readLine();
debugPrint(reply);
fullReply.append(reply + lineTerm);
} while(!(Character.isDigit(reply.charAt(0)) &&
Character.isDigit(reply.charAt(1)) &&
Character.isDigit(reply.charAt(2)) &&
reply.charAt(3) == ' '));
// remove any trailing line terminators from the fullReply
if (fullReply.length() > 0)
fullReply.setLength(fullReply.length() - lineTerm.length());
return reply;
* Added by Julian: Gets a list of files in the current directory.
public String listFiles()
throws IOException
return listFiles("");
* Added by Julian: Gets a list of files in either the current
* directory, or one specified as a parameter. The 'params' parameter
* can be either a directory name, a file mask, or both (such as
* '/DirName/*.txt').
public String listFiles(String params)
throws IOException
StringBuffer files = new StringBuffer();
StringBuffer dirs = new StringBuffer();
if (!getAndParseDirList(params, files, dirs))
debugPrint("Error getting file list");
return files.toString();
* Added by Julian: Gets a list of subdirectories in the current directory.
public String listSubdirectories()
throws IOException
return listSubdirectories("");
* Added by Julian: Gets a list of subdirectories in either the current
* directory, or one specified as a parameter. The 'params' parameter
* can be either a directory name, a name mask, or both (such as
* '/DirName/Sub*').
public String listSubdirectories(String params)
throws IOException
StringBuffer files = new StringBuffer();
StringBuffer dirs = new StringBuffer();
if (!getAndParseDirList(params, files, dirs))
debugPrint("Error getting dir list");
return dirs.toString();
* Added by Julian: Sends and gets the results of a file list command,
* like LIST or NLST.
private String processFileListCommand(String command)
throws IOException
StringBuffer reply = new StringBuffer();
String replyString;
// file listings require you to issue a PORT command,
// like a file transfer
boolean success = executeDataCommand(command, reply);
if (!success)
return "";
replyString = reply.toString();
// strip the trailing line terminator from the reply
if (reply.length() > 0)
return replyString.substring(0, reply.length() - 1);
} else {
return replyString;
* Added by Julian: Gets a directory list from the server and parses
* the elements into a list of files and a list of subdirectories.
private boolean getAndParseDirList(String params, StringBuffer files, StringBuffer dirs)
throws IOException
// reset the return variables (we're using StringBuffers instead of
// Strings because you can't change a String value and pass it back
// to the calling routine -- changing a String creates a new object)
files.setLength(0);
dirs.setLength(0);
// get the NLST and the LIST -- don't worry if the commands
// don't work, because we'll just end up sending nothing back
// if that's the case
String shortList = processFileListCommand("nlst " + params);
String longList = processFileListCommand("list " + params);
// tokenize the lists we got, using a newline as a separator
StringTokenizer sList = new StringTokenizer(shortList, "\n");
StringTokenizer lList = new StringTokenizer(longList, "\n");
// other variables we'll need
String sString;
String lString;
// assume that both lists have the same number of elements
while ((sList.hasMoreTokens()) && (lList.hasMoreTokens())) {
sString = sList.nextToken();
lString = lList.nextToken();
if (lString.length() > 0)
if (lString.startsWith("d"))
dirs.append(sString.trim() + lineTerm);
debugPrint("Dir: " + sString);
} else if (lString.startsWith("-")) {
files.append(sString.trim() + lineTerm);
debugPrint("File: " + sString);
} else {
// actually, symbolic links will start with an "l"
// (lowercase L), but we're not going to mess with
// those
debugPrint("Unknown: " + lString);
// strip off any trailing line terminators and return the values
if (files.length() > 0) { files.setLength(files.length() - lineTerm.length()); }
if (dirs.length() > 0) { dirs.setLength(dirs.length() - lineTerm.length()); }
return true;
* Executes the given FTP command on our current connection, returning the
* three digit response code from the server. This method only works for
* commands that do not require an additional data port.
public int executeCommand(String command)
throws IOException
outputStream.println(command);
return getServerReply();
* Executes the given FTP command on our current connection, returning the
* last line of the server's response. Useful for commands that return
* one line of information.
public String getExecutionResponse(String command)
throws IOException
outputStream.println(command);
return getFullServerReply();
* Executes the given ftpd command on the server and writes the results
* returned on the data port to the file with the given name, returning true
* if the server indicates that the operation was successful.
public boolean readDataToFile(String command, String fileName)
throws IOException
// Open the local file
RandomAccessFile outfile = new RandomAccessFile(fileName, "rw");
// Do restart if desired
if (restartPoint != 0) {
debugPrint("Seeking to " + restartPoint);
outfile.seek(restartPoint);
// Convert the RandomAccessFile to an OutputStream
FileOutputStream fileStream = new FileOutputStream(outfile.getFD());
boolean success = executeDataCommand(command, fileStream);
outfile.close();
return success;
* Executes the given ftpd command on the server and writes the contents
* of the given file to the server on an opened data port, returning true
* if the server indicates that the operation was successful.
public boolean writeDataFromFile(String command, String fileName)
throws IOException
// Open the local file
RandomAccessFile infile = new RandomAccessFile(fileName, "r");
// Do restart if desired
if (restartPoint != 0) {
debugPrint("Seeking to " + restartPoint);
infile.seek(restartPoint);
// Convert the RandomAccessFile to an InputStream
FileInputStream fileStream = new FileInputStream(infile.getFD());
boolean success = executeDataCommand(command, fileStream);
infile.close();
return success;
* Executes the given ftpd command on the server and writes the results
* returned on the data port to the given OutputStream, returning true
* if the server indicates that the operation was successful.
public boolean executeDataCommand(String command, OutputStream out)
throws IOException
// Open a data socket on this computer
ServerSocket serverSocket = new ServerSocket(0);
if (!setupDataPort(command, serverSocket)) return false;
Socket clientSocket = serverSocket.accept();
// Transfer the data
InputStream in = clientSocket.getInputStream();
transferData(in, out);
// Clean up the data structures
in.close();
clientSocket.close();
serverSocket.close();
return isPositiveCompleteResponse(getServerReply());
* Executes the given ftpd command on the server and writes the contents
* of the given InputStream to the server on an opened data port, returning
* true if the server indicates that the operation was successful.
public boolean executeDataCommand(String command, InputStream in)
throws IOException
// Open a data socket on this computer
ServerSocket serverSocket = new ServerSocket(0);
if (!setupDataPort(command, serverSocket)) return false;
Socket clientSocket = serverSocket.accept();
// Transfer the data
OutputStream out = clientSocket.getOutputStream();
transferData(in, out);
// Clean up the data structures
out.close();
clientSocket.close();
serverSocket.close();
return isPositiveCompleteResponse(getServerReply());
* Added by Julian: Executes the given ftpd command on the server
* and writes the results returned on the data port to the given
* StringBuffer, returning true if the server indicates that the
* operation was successful.
public boolean executeDataCommand(String command, StringBuffer sb)
throws IOException
// Open a data socket on this computer
ServerSocket serverSocket = new ServerSocket(0);
if (!setupDataPort(command, serverSocket)) return false;
Socket clientSocket = serverSocket.accept();
// Transfer the data
InputStream in = clientSocket.getInputStream();
transferData(in, sb);
// Clean up the data structures
in.close();
clientSocket.close();
serverSocket.close();
return isPositiveCompleteResponse(getServerReply());
* Transfers the data from the given input stream to the given output
* stream until we reach the end of the stream.
private void transferData(InputStream in, OutputStream out)
throws IOException
byte b[] = new byte[BLOCK_SIZE];
int amount;
// Read the data into the file
while ((amount = in.read(b)) > 0) {
out.write(b, 0, amount);
* Added by Julian: Transfers the data from the given input stream
* to the given StringBuffer until we reach the end of the stream.
private void transferData(InputStream in, StringBuffer sb)
throws IOException
byte b[] = new byte[BLOCK_SIZE];
int amount;
// Read the data into the StringBuffer
while ((amount = in.read(b)) > 0) {
sb.append(new String(b, 0, amount));
* Executes the given ftpd command on the server and writes the results
* returned on the data port to the given FilterOutputStream, returning true
* if the server indicates that the operation was successful.
private boolean setupDataPort(String command, ServerSocket serverSocket)
throws IOException
// Send our local data port to the server
if (!openPort(serverSocket)) return false;
// Set binary type transfer
outputStream.println("type i");
if (!isPositiveCompleteResponse(getServerReply())) {
debugPrint("Could not set transfer type");
return false;
// If we have a restart point, send that information
if (restartPoint != 0) {
outputStream.println("rest " + restartPoint);
restartPoint = 0;
// TODO: Interpret server response here
getServerReply();
// Send the command
outputStream.println(command);
return isPositivePreliminaryResponse(getServerReply());
* Get IP address and port number from serverSocket and send them via the
* <code>port</code> command to the ftp server, returning true if we get a
* valid response from the server, returning true if the server indicates
* that the operation was successful.
private boolean openPort(ServerSocket serverSocket)
throws IOException
int localport = serverSocket.getLocalPort();
// get local ip address
InetAddress inetaddress = serverSocket.getInetAddress();
InetAddress localip;
try {
localip = inetaddress.getLocalHost();
} catch(UnknownHostException e) {
debugPrint("Can't get local host");
return false;
// get ip address in high byte order
byte[] addrbytes = localip.getAddress();
// tell server what port we are listening on
short addrshorts[] = new short[4];
// problem: bytes greater than 127 are printed as negative numbers
for(int i = 0; i <= 3; i++) {
addrshorts[i] = addrbytes;
if (addrshorts[i] < 0)
addrshorts[i] += 256;
outputStream.println("port " + addrshorts[0] + "," + addrshorts[1] +
"," + addrshorts[2] + "," + addrshorts[3] + "," +
((localport & 0xff00) >> 8) + "," +
(localport & 0x00ff));
return isPositiveCompleteResponse(getServerReply());
* True if the given response code is in the 100-199 range.
private boolean isPositivePreliminaryResponse(int response)
return (response >= 100 && response < 200);
* True if the given response code is in the 300-399 range.
private boolean isPositiveIntermediateResponse(int response)
return (response >= 300 && response < 400);
* True if the given response code is in the 200-299 range.
private boolean isPositiveCompleteResponse(int response)
return (response >= 200 && response < 300);
* True if the given response code is in the 400-499 range.
private boolean isTransientNegativeResponse(int response)
return (response >= 400 && response < 500);
* True if the given response code is in the 500-5ok i tried explaining th eproblem in the previous post, but i apologize if my explanation was poor. anyways, i tried to look into it further by doing a printStackTrace() and believe it may be a read error. here is my new updated snippet, and also a link to a screenshot ([click here for screenshot|http://img143.imageshack.us/my.php?image=picture4qr0.png]) of what the error looks like on my end. it seems like a socket is not being read, or maybe it is initialized properly. Again I apologize if my problem is vague, but I do appreciate your input. thanks.
updated code snippet
public void uploadFiles()
statusLabel.setVisible(true);
errorLabel.setVisible(true);
uploadButton.setVisible(false);
footer.setVisible(false);
holdingPanel.setVisible(false);
pbar.setVisible(true);
pbar = new JProgressBar();
pbar.setMinimum(0);
float Total=0;
for (int i=0; i<fileLengths.size(); i++)
if(((java.lang.Boolean)model.getValueAt(i,1)).toString().equals("true"))
Total+=Float.parseFloat((String)fileLengths.get(i));
pbar.setMaximum((int)Total);
String info="";
try
ftp=new FTPConnection(false);
ftp.connect("ftp.chris-malcolm.com");
if (ftp.login("chrismal", "***"))
statusLabel.setText("Status: Connected.");
info+="Successfully logged in!\n";
info+="System type is: " + ftp.getSystemType()+"\n";
info+="Current directory is: " + ftp.getCurrentDirectory()+"\n";
if (ftp.changeDirectory("/www/images/"))
info+="directory changed to: " + ftp.getCurrentDirectory()+"\n";
try
for (int i=0; i<allFiles.size(); i++)
if(((java.lang.Boolean)model.getValueAt(i,1)).toString().equals("true"))
String f=client.verifyFileName((String)model.getValueAt(i,0));
String f2=""+((File)allFiles.get(i)).getPath();
info+="filename: "+f2+"\n";
if (ftp.uploadFile(f2))
statusLabel.setText("Status: Uploading "+f+" - "+i+" of "+calculateTotalFiles()+" files(s)");
pbar.setValue(Integer.parseInt((String)fileLengths.get(i)));
else
errorLabel.setText("Error occured while uploading"+f2+"\n");
catch(Exception de)
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
de.printStackTrace(pw);
pw.close();
//errorLabel.setText("<html>ERROR:"+sw.toString().replace("\n", "<br>")+"</html>");
info+="Error: "+de.getMessage()+"\n";
info+="Trace: "+sw+"\n";
try { ftp.disconnect(); statusLabel.setText("Status: disconnected.");} catch(Exception e2) {};
else
info+="could not change directory\n";
else
info+="could not login";
catch (Exception e)
StringWriter sw = new StringWriter();
PrintWriter pw = new PrintWriter(sw);
e.printStackTrace(pw);
pw.close();
info+="Error: "+e.getMessage()+"\n";
info+="Trace: "+sw+"\n";
try { ftp.disconnect(); statusLabel.setText("Status: disconnected.");} catch(Exception e2) {};
errorLabel.setText("ERROR:"+info);
JOptionPane.showMessageDialog(this, info, "test", JOptionPane.PLAIN_MESSAGE);
try { ftp.disconnect(); statusLabel.setText("Status: disconnected.");} catch(Exception e2) {};
Edited by: cjm771 on Jul 13, 2008 7:23 PM -
I am running OS 10.7.5 on a Macbook. Problems with ftp upload
I am running OS 10.7.5 on a Macbook. I am trying to upload to an ftp server. The connection is established with no problem but any attempt to upload files times out. This is an intermittent problem. I have been using fetch as an ftp client quuite successfully for a long time. The problem starts when there is trouble with the broadband connection. The ftp upload then falls over. I have managed to re-establish it in the past by setting up the connections from scratch. This has not worked this time. The same thing happens with two other clients that I have, so it is not specifically related to fetch. I can uplad files from PC's and by using my iphone's 3g connection as a personal hotspot. The problem seems to lie with the way the macs (the same thing happens on an older mac also running OSX) communicate with the router. I have tried with and without passive mode.
Please can anyone help. It is driving me to distraction.
Oh and I have just downloaded the latest security update.For anyone else with the same problem.
My husband discovered the problem is with the MTU, maximum transmission unit . This article describes the problem and solution very clearly
http://www.macgurulounge.com/manually-managing-mtu-size-in-mac-os-x/
Our router was running at 1492 and the mac at 1500. I found that resetting to 1400 cured the problem.
I hope this is helpful to other folk having the same problem -
Ftp access works with Safari but not with Netscape or Explorer
The problem I am trying to solve is that my ftp service works correctly with Safari but gives an error message when the ftp service is access via Netscape or Explorer. Error message is "530 Guest login disabled". These two web browsers will not display a login screen for access by real users; Safari provides the login screen. The server is restricted to real users only
G5 XServe Mac OS X (10.4.7)
G5 XServe Mac OS X (10.4.7)ITEN-
Check the proxy settings of the programs that are not working.
Check your firewall settings as well but I do not think that is it.
Luck-
-DaddyPaycheck -
Can't upload photos to Flickr with Safari - Safari always crashes.
Help, I can't upload photos to Flickr with Safari. Safari always crashes and I recieve the following error message (and I've not included all of it just to keep it somewhat short):
Process: com.apple.WebKit.WebContent [673]
Path: /System/Library/PrivateFrameworks/WebKit2.framework/Versions/A/XPCServices/com. apple.WebKit.WebContent.xpc/Contents/MacOS/com.apple.WebKit.WebContent
Identifier: com.apple.WebKit.WebContent
Version: 9537 (9537.74.9)
Build Info: WebKit2-7537074009000000~3
Code Type: X86-64 (Native)
Parent Process: ??? [1]
Responsible: Safari [155]
User ID: 501
Date/Time: 2014-03-17 22:17:24.605 -0500
OS Version: Mac OS X 10.9.2 (13C64)
Report Version: 11
Anonymous UUID: 782BB667-7908-403F-2F7A-8205C11B8B24
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000008
VM Regions Near 0x8:
-->
__TEXT 000000010babf000-000000010bac0000 [ 4K] r-x/rwx SM=COW /System/Library/PrivateFrameworks/WebKit2.framework/Versions/A/XPCServices/com. apple.WebKit.WebContent.xpc/Contents/MacOS/com.apple.WebKit.WebContent
Application Specific Information:
Bundle controller class:
BrowserBundleController
Process Model:
Multiple Web Processes
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 com.apple.WebKit2 0x00007fff922c9212 WebKit::SandboxExtension::consumePermanently() + 10
1 com.apple.WebKit2 0x00007fff92408c38 WebKit::WebPage::extendSandboxForFileFromOpenPanel(WebKit::SandboxExtension::Ha ndle const&) + 26
2 com.apple.WebKit2 0x00007fff9240da8b void CoreIPC::handleMessage<Messages::WebPage::ExtendSandboxForFileFromOpenPanel, WebKit::WebPage, void (WebKit::WebPage::*)(WebKit::SandboxExtension::Handle const&)>(CoreIPC::MessageDecoder&, WebKit::WebPage*, void (WebKit::WebPage::*)(WebKit::SandboxExtension::Handle const&)) + 80
3 com.apple.WebKit2 0x00007fff922db338 WebKit::WebPage::didReceiveWebPageMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&) + 6660
4 com.apple.WebKit2 0x00007fff922c3a6b CoreIPC::MessageReceiverMap::dispatchMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&) + 125
5 com.apple.WebKit2 0x00007fff922c3950 WebKit::WebProcess::didReceiveMessage(CoreIPC::Connection*, CoreIPC::MessageDecoder&) + 28
6 com.apple.WebKit2 0x00007fff922c38b9 CoreIPC::Connection::dispatchMessage(***::PassOwnPtr<CoreIPC::MessageDecoder>) + 101
7 com.apple.WebKit2 0x00007fff922c37e2 CoreIPC::Connection::dispatchOneMessage() + 106
8 com.apple.WebCore 0x00007fff8eefe34e WebCore::RunLoop::performWork() + 270
9 com.apple.WebCore 0x00007fff8eefe222 WebCore::RunLoop::performWork(void*) + 34
10 com.apple.CoreFoundation 0x00007fff8db9e731 __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 17
11 com.apple.CoreFoundation 0x00007fff8db8fea2 __CFRunLoopDoSources0 + 242
12 com.apple.CoreFoundation 0x00007fff8db8f62f __CFRunLoopRun + 831
13 com.apple.CoreFoundation 0x00007fff8db8f0b5 CFRunLoopRunSpecific + 309
14 com.apple.HIToolbox 0x00007fff93de1a0d RunCurrentEventLoopInMode + 226
15 com.apple.HIToolbox 0x00007fff93de17b7 ReceiveNextEventCommon + 479
16 com.apple.HIToolbox 0x00007fff93de15bc _BlockUntilNextEventMatchingListInModeWithFilter + 65
17 com.apple.AppKit 0x00007fff8b00b3de _DPSNextEvent + 1434
18 com.apple.AppKit 0x00007fff8b00aa2b -[NSApplication nextEventMatchingMask:untilDate:inMode:dequeue:] + 122
19 com.apple.AppKit 0x00007fff8affeb2c -[NSApplication run] + 553
20 com.apple.AppKit 0x00007fff8afe9913 NSApplicationMain + 940
21 com.apple.XPCService 0x00007fff96086c0f _xpc_main + 385
22 libxpc.dylib 0x00007fff8c819bde xpc_main + 399
23 com.apple.WebKit.WebContent 0x000000010babfba0 0x10babf000 + 2976
24 libdyld.dylib 0x00007fff959895fd start + 1
Thread 1:: Dispatch queue: com.apple.libdispatch-manager
0 libsystem_kernel.dylib 0x00007fff8c8c8662 kevent64 + 10
1 libdispatch.dylib 0x00007fff96fe643d _dispatch_mgr_invoke + 239
2 libdispatch.dylib 0x00007fff96fe6152 _dispatch_mgr_thread + 52
Thread 2:
0 libsystem_kernel.dylib 0x00007fff8c8c3a1a mach_msg_trap + 10
1 libsystem_kernel.dylib 0x00007fff8c8c2d18 mach_msg + 64
2 com.apple.CoreFoundation 0x00007fff8db90155 __CFRunLoopServiceMachPort + 181
3 com.apple.CoreFoundation 0x00007fff8db8f779 __CFRunLoopRun + 1161
4 com.apple.CoreFoundation 0x00007fff8db8f0b5 CFRunLoopRunSpecific + 309
5 com.apple.AppKit 0x00007fff8b1ab16e _NSEventThread + 144
6 libsystem_pthread.dylib 0x00007fff95c7d899 _pthread_body + 138
7 libsystem_pthread.dylib 0x00007fff95c7d72a _pthread_start + 137
8 libsystem_pthread.dylib 0x00007fff95c81fc9 thread_start + 13
Thread 3:: com.apple.NSURLConnectionLoader
0 libsystem_kernel.dylib 0x00007fff8c8c3a1a mach_msg_trap + 10
1 libsystem_kernel.dylib 0x00007fff8c8c2d18 mach_msg + 64
2 com.apple.CoreFoundation 0x00007fff8db90155 __CFRunLoopServiceMachPort + 181
3 com.apple.CoreFoundation 0x00007fff8db8f779 __CFRunLoopRun + 1161
4 com.apple.CoreFoundation 0x00007fff8db8f0b5 CFRunLoopRunSpecific + 309
5 com.apple.Foundation 0x00007fff946b0967 +[NSURLConnection(Loader) _resourceLoadLoop:] + 348
6 com.apple.Foundation 0x00007fff946b076b __NSThread__main__ + 1318
7 libsystem_pthread.dylib 0x00007fff95c7d899 _pthread_body + 138
8 libsystem_pthread.dylib 0x00007fff95c7d72a _pthread_start + 137
9 libsystem_pthread.dylib 0x00007fff95c81fc9 thread_start + 13
Thread 4:: WebCore: Scrolling
0 libsystem_kernel.dylib 0x00007fff8c8c3a1a mach_msg_trap + 10
1 libsystem_kernel.dylib 0x00007fff8c8c2d18 mach_msg + 64
2 com.apple.CoreFoundation 0x00007fff8db90155 __CFRunLoopServiceMachPort + 181
3 com.apple.CoreFoundation 0x00007fff8db8f779 __CFRunLoopRun + 1161
4 com.apple.CoreFoundation 0x00007fff8db8f0b5 CFRunLoopRunSpecific + 309
5 com.apple.CoreFoundation 0x00007fff8dc44811 CFRunLoopRun + 97
6 com.apple.WebCore 0x00007fff8efaad44 WebCore::ScrollingThread::initializeRunLoop() + 244
7 com.apple.JavaScriptCore 0x00007fff8a82bc5f ***::wtfThreadEntryPoint(void*) + 15
8 libsystem_pthread.dylib 0x00007fff95c7d899 _pthread_body + 138
9 libsystem_pthread.dylib 0x00007fff95c7d72a _pthread_start + 137
10 libsystem_pthread.dylib 0x00007fff95c81fc9 thread_start + 13
Thread 5:: JavaScriptCore::BlockFree
0 libsystem_kernel.dylib 0x00007fff8c8c7716 __psynch_cvwait + 10
1 libsystem_pthread.dylib 0x00007fff95c7fc3b _pthread_cond_wait + 727
2 com.apple.JavaScriptCore 0x00007fff8a8369c5 JSC::BlockAllocator::blockFreeingThreadMain() + 261
3 com.apple.JavaScriptCore 0x00007fff8a82bc5f ***::wtfThreadEntryPoint(void*) + 15
4 libsystem_pthread.dylib 0x00007fff95c7d899 _pthread_body + 138
5 libsystem_pthread.dylib 0x00007fff95c7d72a _pthread_start + 137
6 libsystem_pthread.dylib 0x00007fff95c81fc9 thread_start + 13
Thread 6:: JavaScriptCore::Marking
0 libsystem_kernel.dylib 0x00007fff8c8c7716 __psynch_cvwait + 10
1 libsystem_pthread.dylib 0x00007fff95c7fc3b _pthread_cond_wait + 727
2 com.apple.JavaScriptCore 0x00007fff8a837437 JSC::GCThread::waitForNextPhase() + 119
3 com.apple.JavaScriptCore 0x00007fff8a8372c8 JSC::GCThread::gcThreadMain() + 88
4 com.apple.JavaScriptCore 0x00007fff8a82bc5f ***::wtfThreadEntryPoint(void*) + 15
5 libsystem_pthread.dylib 0x00007fff95c7d899 _pthread_body + 138
6 libsystem_pthread.dylib 0x00007fff95c7d72a _pthread_start + 137
7 libsystem_pthread.dylib 0x00007fff95c81fc9 thread_start + 13
Thread 7:: JavaScriptCore::Marking
0 libsystem_kernel.dylib 0x00007fff8c8c7716 __psynch_cvwait + 10
1 libsystem_pthread.dylib 0x00007fff95c7fc3b _pthread_cond_wait + 727
2 com.apple.JavaScriptCore 0x00007fff8a837437 JSC::GCThread::waitForNextPhase() + 119
3 com.apple.JavaScriptCore 0x00007fff8a8372c8 JSC::GCThread::gcThreadMain() + 88
4 com.apple.JavaScriptCore 0x00007fff8a82bc5f ***::wtfThreadEntryPoint(void*) + 15
5 libsystem_pthread.dylib 0x00007fff95c7d899 _pthread_body + 138
6 libsystem_pthread.dylib 0x00007fff95c7d72a _pthread_start + 137
7 libsystem_pthread.dylib 0x00007fff95c81fc9 thread_start + 13
Thread 8:: JavaScriptCore::Marking
0 libsystem_kernel.dylib 0x00007fff8c8c7716 __psynch_cvwait + 10
1 libsystem_pthread.dylib 0x00007fff95c7fc3b _pthread_cond_wait + 727
2 com.apple.JavaScriptCore 0x00007fff8a837437 JSC::GCThread::waitForNextPhase() + 119
3 com.apple.JavaScriptCore 0x00007fff8a8372c8 JSC::GCThread::gcThreadMain() + 88
4 com.apple.JavaScriptCore 0x00007fff8a82bc5f ***::wtfThreadEntryPoint(void*) + 15
5 libsystem_pthread.dylib 0x00007fff95c7d899 _pthread_body + 138
6 libsystem_pthread.dylib 0x00007fff95c7d72a _pthread_start + 137
7 libsystem_pthread.dylib 0x00007fff95c81fc9 thread_start + 13
Thread 9:: JavaScriptCore::Marking
0 libsystem_kernel.dylib 0x00007fff8c8c7716 __psynch_cvwait + 10
1 libsystem_pthread.dylib 0x00007fff95c7fc3b _pthread_cond_wait + 727
2 com.apple.JavaScriptCore 0x00007fff8a837437 JSC::GCThread::waitForNextPhase() + 119
3 com.apple.JavaScriptCore 0x00007fff8a8372c8 JSC::GCThread::gcThreadMain() + 88
4 com.apple.JavaScriptCore 0x00007fff8a82bc5f ***::wtfThreadEntryPoint(void*) + 15
5 libsystem_pthread.dylib 0x00007fff95c7d899 _pthread_body + 138
6 libsystem_pthread.dylib 0x00007fff95c7d72a _pthread_start + 137
7 libsystem_pthread.dylib 0x00007fff95c81fc9 thread_start + 13
Thread 10:: JavaScriptCore::Marking
0 libsystem_kernel.dylib 0x00007fff8c8c7716 __psynch_cvwait + 10
1 libsystem_pthread.dylib 0x00007fff95c7fc3b _pthread_cond_wait + 727
2 com.apple.JavaScriptCore 0x00007fff8a837437 JSC::GCThread::waitForNextPhase() + 119
3 com.apple.JavaScriptCore 0x00007fff8a8372c8 JSC::GCThread::gcThreadMain() + 88
4 com.apple.JavaScriptCore 0x00007fff8a82bc5f ***::wtfThreadEntryPoint(void*) + 15
5 libsystem_pthread.dylib 0x00007fff95c7d899 _pthread_body + 138
6 libsystem_pthread.dylib 0x00007fff95c7d72a _pthread_start + 137
7 libsystem_pthread.dylib 0x00007fff95c81fc9 thread_start + 13
Thread 11:: JavaScriptCore::Marking
0 libsystem_kernel.dylib 0x00007fff8c8c7716 __psynch_cvwait + 10
1 libsystem_pthread.dylib 0x00007fff95c7fc3b _pthread_cond_wait + 727
2 com.apple.JavaScriptCore 0x00007fff8a837437 JSC::GCThread::waitForNextPhase() + 119
3 com.apple.JavaScriptCore 0x00007fff8a8372c8 JSC::GCThread::gcThreadMain() + 88
4 com.apple.JavaScriptCore 0x00007fff8a82bc5f ***::wtfThreadEntryPoint(void*) + 15
5 libsystem_pthread.dylib 0x00007fff95c7d899 _pthread_body + 138
6 libsystem_pthread.dylib 0x00007fff95c7d72a _pthread_start + 137
7 libsystem_pthread.dylib 0x00007fff95c81fc9 thread_start + 13
Thread 12:
0 libsystem_kernel.dylib 0x00007fff8c8c7e6a __workq_kernreturn + 10
1 libsystem_pthread.dylib 0x00007fff95c7ef08 _pthread_wqthread + 330
2 libsystem_pthread.dylib 0x00007fff95c81fb9 start_wqthread + 13
Thread 13:
0 libsystem_kernel.dylib 0x00007fff8c8c7e6a __workq_kernreturn + 10
1 libsystem_pthread.dylib 0x00007fff95c7ef08 _pthread_wqthread + 330
2 libsystem_pthread.dylib 0x00007fff95c81fb9 start_wqthread + 13
Thread 14:: WebCore: Worker
0 libsystem_kernel.dylib 0x00007fff8c8c7716 __psynch_cvwait + 10
1 libsystem_pthread.dylib 0x00007fff95c7fc3b _pthread_cond_wait + 727
2 com.apple.JavaScriptCore 0x00007fff8a836ddd ***::ThreadCondition::timedWait(***::Mutex&, double) + 61
3 com.apple.WebCore 0x00007fff8fbbe2cb ***::PassOwnPtr<WebCore::WorkerRunLoop::Task> ***::MessageQueue<WebCore::WorkerRunLoop::Task>::waitForMessageFilteredWithTime out<WebCore::ModePredicate const>(***::MessageQueueWaitResult&, WebCore::ModePredicate const&, double) + 187
4 com.apple.WebCore 0x00007fff8fbbdcf6 WebCore::WorkerRunLoop::runInMode(WebCore::WorkerContext*, WebCore::ModePredicate const&, WebCore::WorkerRunLoop::WaitMode) + 102
5 com.apple.WebCore 0x00007fff8fbbdc50 WebCore::WorkerRunLoop::run(WebCore::WorkerContext*) + 80
6 com.apple.WebCore 0x00007fff8fbc0f50 WebCore::WorkerThread::workerThread() + 624
7 com.apple.JavaScriptCore 0x00007fff8a82bc5f ***::wtfThreadEntryPoint(void*) + 15
8 libsystem_pthread.dylib 0x00007fff95c7d899 _pthread_body + 138
9 libsystem_pthread.dylib 0x00007fff95c7d72a _pthread_start + 137
10 libsystem_pthread.dylib 0x00007fff95c81fc9 thread_start + 13
Thread 15:: JavaScriptCore::BlockFree
0 libsystem_kernel.dylib 0x00007fff8c8c7716 __psynch_cvwait + 10
1 libsystem_pthread.dylib 0x00007fff95c7fc3b _pthread_cond_wait + 727
2 com.apple.JavaScriptCore 0x00007fff8a8369c5 JSC::BlockAllocator::blockFreeingThreadMain() + 261
3 com.apple.JavaScriptCore 0x00007fff8a82bc5f ***::wtfThreadEntryPoint(void*) + 15
4 libsystem_pthread.dylib 0x00007fff95c7d899 _pthread_body + 138
5 libsystem_pthread.dylib 0x00007fff95c7d72a _pthread_start + 137
6 libsystem_pthread.dylib 0x00007fff95c81fc9 thread_start + 13
Thread 16:: JavaScriptCore::Marking
0 libsystem_kernel.dylib 0x00007fff8c8c7716 __psynch_cvwait + 10
1 libsystem_pthread.dylib 0x00007fff95c7fc3b _pthread_cond_wait + 727
2 com.apple.JavaScriptCore 0x00007fff8a837437 JSC::GCThread::waitForNextPhase() + 119
3 com.apple.JavaScriptCore 0x00007fff8a8372c8 JSC::GCThread::gcThreadMain() + 88
4 com.apple.JavaScriptCore 0x00007fff8a82bc5f ***::wtfThreadEntryPoint(void*) + 15
5 libsystem_pthread.dylib 0x00007fff95c7d899 _pthread_body + 138
6 libsystem_pthread.dylib 0x00007fff95c7d72a _pthread_start + 137
7 libsystem_pthread.dylib 0x00007fff95c81fc9 thread_start + 13
Thread 17:: JavaScriptCore::Marking
0 libsystem_kernel.dylib 0x00007fff8c8c7716 __psynch_cvwait + 10
1 libsystem_pthread.dylib 0x00007fff95c7fc3b _pthread_cond_wait + 727
2 com.apple.JavaScriptCore 0x00007fff8a837437 JSC::GCThread::waitForNextPhase() + 119
3 com.apple.JavaScriptCore 0x00007fff8a8372c8 JSC::GCThread::gcThreadMain() + 88
4 com.apple.JavaScriptCore 0x00007fff8a82bc5f ***::wtfThreadEntryPoint(void*) + 15
5 libsystem_pthread.dylib 0x00007fff95c7d899 _pthread_body + 138
6 libsystem_pthread.dylib 0x00007fff95c7d72a _pthread_start + 137
7 libsystem_pthread.dylib 0x00007fff95c81fc9 thread_start + 13
Thread 18:: JavaScriptCore::Marking
0 libsystem_kernel.dylib 0x00007fff8c8c7716 __psynch_cvwait + 10
1 libsystem_pthread.dylib 0x00007fff95c7fc3b _pthread_cond_wait + 727
2 com.apple.JavaScriptCore 0x00007fff8a837437 JSC::GCThread::waitForNextPhase() + 119
3 com.apple.JavaScriptCore 0x00007fff8a8372c8 JSC::GCThread::gcThreadMain() + 88
4 com.apple.JavaScriptCore 0x00007fff8a82bc5f ***::wtfThreadEntryPoint(void*) + 15
5 libsystem_pthread.dylib 0x00007fff95c7d899 _pthread_body + 138
6 libsystem_pthread.dylib 0x00007fff95c7d72a _pthread_start + 137
7 libsystem_pthread.dylib 0x00007fff95c81fc9 thread_start + 13
Thread 19:: JavaScriptCore::Marking
0 libsystem_kernel.dylib 0x00007fff8c8c7716 __psynch_cvwait + 10
1 libsystem_pthread.dylib 0x00007fff95c7fc3b _pthread_cond_wait + 727
2 com.apple.JavaScriptCore 0x00007fff8a837437 JSC::GCThread::waitForNextPhase() + 119
3 com.apple.JavaScriptCore 0x00007fff8a8372c8 JSC::GCThread::gcThreadMain() + 88
4 com.apple.JavaScriptCore 0x00007fff8a82bc5f ***::wtfThreadEntryPoint(void*) + 15
5 libsystem_pthread.dylib 0x00007fff95c7d899 _pthread_body + 138
6 libsystem_pthread.dylib 0x00007fff95c7d72a _pthread_start + 137
7 libsystem_pthread.dylib 0x00007fff95c81fc9 thread_start + 13
Thread 20:: JavaScriptCore::Marking
0 libsystem_kernel.dylib 0x00007fff8c8c7716 __psynch_cvwait + 10
1 libsystem_pthread.dylib 0x00007fff95c7fc3b _pthread_cond_wait + 727
2 com.apple.JavaScriptCore 0x00007fff8a837437 JSC::GCThread::waitForNextPhase() + 119
3 com.apple.JavaScriptCore 0x00007fff8a8372c8 JSC::GCThread::gcThreadMain() + 88
4 com.apple.JavaScriptCore 0x00007fff8a82bc5f ***::wtfThreadEntryPoint(void*) + 15
5 libsystem_pthread.dylib 0x00007fff95c7d899 _pthread_body + 138
6 libsystem_pthread.dylib 0x00007fff95c7d72a _pthread_start + 137
7 libsystem_pthread.dylib 0x00007fff95c81fc9 thread_start + 13
Thread 21:: JavaScriptCore::Marking
0 libsystem_kernel.dylib 0x00007fff8c8c7716 __psynch_cvwait + 10
1 libsystem_pthread.dylib 0x00007fff95c7fc3b _pthread_cond_wait + 727
2 com.apple.JavaScriptCore 0x00007fff8a837437 JSC::GCThread::waitForNextPhase() + 119
3 com.apple.JavaScriptCore 0x00007fff8a8372c8 JSC::GCThread::gcThreadMain() + 88
4 com.apple.JavaScriptCore 0x00007fff8a82bc5f ***::wtfThreadEntryPoint(void*) + 15
5 libsystem_pthread.dylib 0x00007fff95c7d899 _pthread_body + 138
6 libsystem_pthread.dylib 0x00007fff95c7d72a _pthread_start + 137
7 libsystem_pthread.dylib 0x00007fff95c81fc9 thread_start + 13
Thread 0 crashed with X86 Thread State (64-bit):
rax: 0x00007fff5413ef78 rbx: 0x0000000000000000 rcx: 0x00007fe085a2dcb8 rdx: 0x00007fe085a2dcb8
rdi: 0x0000000000000000 rsi: 0x00007fff5413ef90 rbp: 0x00007fff5413ef60 rsp: 0x00007fff5413ef50
r8: 0x0000000000000000 r9: 0x0000000000000190 r10: 0xfffffffffffffe91 r11: 0x00007fff7be09db8
r12: 0x000000011100b8c0 r13: 0x00007fff5413ef90 r14: 0x00007fff92408c1e r15: 0x0000000000000000
rip: 0x00007fff922c9212 rfl: 0x0000000000010246 cr2: 0x0000000000000008
Logical CPU: 6
Error Code: 0x00000004
Trap Number: 14
Binary Images:This procedure is a diagnostic test. It will make no changes to your system, and therefore will not, in itself, solve your problem.
If you have more than one user account, you must be logged in as an administrator to carry out these instructions.
Triple-click anywhere in the line below to select it:
sudo opensnoop -e 2>&- | sed -En '/ m[dt]/d;s/(\/Users\/)[^/]+/\1-/p;/ReportC/q' | tail -50 | pbcopy
Copy the selected text to the Clipboard by pressing the key combination command-C.
Launch the built-in Terminal application in any of the following ways:
☞ Enter the first few letters of its name into a Spotlight search. Select it in the results (it should be at the top.)
☞ In the Finder, select Go ▹ Utilities from the menu bar, or press the key combination shift-command-U. The application is in the folder that opens.
☞ Open LaunchPad. Click Utilities, then Terminal in the icon grid.
Paste into the Terminal window (command-V). You'll be prompted for your login password. Nothing will be displayed when you type it. If you don’t have a login password, you’ll need to set one before you can run the command. You may get a one-time warning not to screw up. Confirm. You don't need to post the warning.
If you see a message that your username "is not in the sudoers file," then you're not logged in as an administrator. Log in as one and start over.
Now take the action that causes the crash.
The command may take a noticeable amount of time to run. Wait for a new line ending in a dollar sign ($) to appear.
The output of the command will be automatically copied to the Clipboard. If the command produced no output, the Clipboard will be empty. Paste into a reply to this message.
The Terminal window doesn't show the output. Please don't copy anything from there.
If any personal information appears in the output, anonymize before posting, but don’t remove the context.
You can then quit Terminal.
Important: There is an obscure bug in some versions of OS X that may cause cursor movement to lag or stutter after running the above command. If you notice this behavior, simply restart the computer to clear it. -
Trouble with browser editing FTP upload
I have been updating a site to a sub-domain of my personal site while working for client. Yesterday when I tried to walk them through the in-browser editing feature I got an error that wouldn't let me login to edit the site. I followed all of the instructions in the error message (use the "upload via FTP" setting, sign in with the same user) but I still can't log in. Is this a bug with how Muse handles sub-domains, or what else am I doing wrong?
No, everything uploaded correctly. You can see my site properly
-Eric
On August 23, 2014 at 3:37:13 PM EDT, Zak Williamson (Adobe) <[email protected]> wrote: Trouble with browser editing FTP upload reated by Zak Williamson (Adobe) in Help with using Adobe Muse CC - View the full discussion When using File > Upload to FTP Host... do you receive a warning message that the domain name could not be validated? Please note that the Adobe Forums do not accept email attachments. If you want to embed a screen image in your message please visit the thread in the forum to embed the image at https://forums.adobe.com/message/6668001#6668001 Replies to this message go to everyone subscribed to this thread, not directly to the person who posted the message. To post a reply, either reply to this email or visit the message page: To unsubscribe from this thread, please visit the message page at . In the Actions box on the right, click the Stop Email Notifications link. Start a new discussion in Help with using Adobe Muse CC by email or at Adobe Community For more information about maintaining your forum email notifications please go to http://forums.adobe.com/thread/416458?tstart=0. -
Free Website Hosting With No Ads, Free FTP Uploading
Hi there!
I am working on a website for a technology scholarship I am applying for. I need to upload my iWeb site, so I am going to use Cyberduck. I need a web host that is ad free (it is a requirement of the scholarship) and offers free FTP uploading (so I can upload using Cyberduck). Thanks for your help!I need a web host that is ad free (it is a requirement of the scholarship) and offers free FTP uploading (so I can upload using Cyberduck).
Who is your ISP? Normally ISP's offer their subscribers a certain (smallish) amount of free ftp accessible web space. That would probably be your best bet, because others are unlikely to meet your criteria.
Or perhaps a school you have a relationship with. -
Uploading with ftp client.
I am constantly updating my site on iweb but am wondering the best way to upload it. I use captain ftp and upload the whole site again everytime i update it. Is this right? Is it not using all my allocated data transfer limit.
Michael,
What you wrote is basically what I understood I had to do but I hoped there was a better way than uploading manually.
In fact, even if iWeb has the BAD habit to re-create your whole site (especially when you add a new page) thus making large sites very difficult to manage (my poor Mac takes two hours to do that with my 220 MB domain file...), at least iWeb DOES know what it actually has to upload on .Mac.
Whenever you apply a change, you see icons on the left panel going red.
Unfortunately, that doesn't work with FTP publishing so you have to:
- keep track of what you have done or
- FTP upload your whole site any time you make a change or
- keep your "sites" in different domain files and make full uploads shorter
I do hope this thing is going to be solved, sooner or later: I have a .Mac account but, just as James wrote, there are many good reasons to use a third party's hosting.
At least, I'd like to be able to turn off the "Publish to .Mac" feature in the preference panel in order not to upload by mistake to .Mac a site I only upload via FTP. -
Problems With FTP Upload in Leopard 10.5.3-4
Hi, I experience a strange problem with ftp upload speed in 10.5.3-4. When I start upload a file to my trusted ftp server the upload speed starts to decrease from 300 kb/sec to 35 -40 kb/sec. It remains normal for 1-2 minutes (about 300 kb/sec) and then smoothly decreases to 35 -40 kb/sec. Pressing Stop and then Resume in Cyberduck makes speed normal for 1-2 minutes and then it starts to decrease again. It does not depend on ftp-client, it does not matter if I use either Cyberduck, Transmit or Fetch. It happens if I use either ethernet or airport connection. I have my old Powerbook with 10.4.11, it's connected to the same router with the same settings and the same time upload speed remains stable about 300 kb/sec.
But when I transfer files from my Macbook to my old Powerbook via ftp everything is fine. And when I transfer files to ftp server of my local ISP it's also fine.
Please, help me, I have to upload big 100 Mb files very often and it's significant difference for me 30 or 300 kb/sec
BorisI'm afraid it's not just the Duck or FTP, Boris....It's many many Apps...and protocols... 10.5 appears to have ;broken',a number of file transfer protocols and Apps... (Wired and KDX are two that come to mind- precisely the same symptoms, AND some others) Apple's own 'built-in' FTP appears OK Mac-Mac, oddly enough.
There's obviously some kind of weird Copy-Paste problem too.
It's obviously 'fixable' or a workaround is available because several s/w mobs have released 'fixes for 10.5 file transfer Bug'
The rest of us will just have to wait while another unannounced,unacknowledged, gaping hole in the Mac OS is quietly fixed and our expensive s/w sits unusable...
Not really good enough, is it ?
Like: Not being able to automatically detect a part file transfer on FTP and Auto-resume from whence you left off: something we thought was pretty cool- back in about 1984.... and absolutely essential in 86 or so.
Boris:You will almost certainly find that it happens whatever the client-server server setup and applications or Medium... I've seen precisely what you describe happen with Airport, Cable, 10/100/1000' local' LAN...
- and watching your throughput drop from 300K to 300 BYTES/Sec is NO FUN.
I've spent a lot of time and money convincing potential 'Switchers' of the superiority of the Mac way over the last 20 years or so...
I'm getting pretty tired at defending the indefensible: 'SkoolBoy Misstakes' in a 24 year old 'superior Computer.- Not Good enough, Apple. -
Problems with processing files uploaded from Safari browsers
I have a jsp that allows users to upload files via a secure form and the standard html <input type=”file” … > tag.
For complex reasons I need to get the contents of the HttpServletRequest into a character array. Basically my code looks like this:
BufferedReader reader = request.getReader();
char[] ba = (char[]) Array.newInstance(char.class, MAXFILESIZE);
int total = 0;
int charsRead =0;
while ((charsRead = reader.read(ba, total, 1024)) > -1)
total += charsRead;
When the request is submitted by a Safari browser, approximately 70% of the time, the very first reader.read does not return a result. After about 2 minutes, I get a SocketTimeoutException. On the client side, Safari shows a “loading ….” Message and after 5 minutes reverts to a blank screen – unsurprisingly since the server never serves up a response.
By way of comparison, when the transaction is successful, the process takes less than 1 second.
java.net.SocketTimeoutException: Read timed out
at java.net.SocketInputStream.socketRead0(Native Method)
at java.net.SocketInputStream.read(SocketInputStream.java(Compiled Code))
at com.ibm.ws.io.Stream.read(Stream.java(Compiled Code))
at com.ibm.ws.io.ReadStream.read(ReadStream.java(Compiled Code))
at com.ibm.ws.http.ContentLengthInputStream.read(ContentLengthInputStream.java(Compiled Code))
at com.ibm.ws.io.ReadStream.read(ReadStream.java(Compiled Code))
at com.ibm.ws.webcontainer.http.HttpConnection.read(HttpConnection.java:342)
at com.ibm.ws.webcontainer.srp.SRPConnection.read(SRPConnection.java:200)
at com.ibm.ws.webcontainer.srt.SRTInputStream.read(SRTInputStream.java:80)
at com.ibm.ws.webcontainer.srt.http.HttpInputStream.read(HttpInputStream.java:312)
at java.io.InputStream.read(InputStream.java(Compiled Code))
at sun.nio.cs.StreamDecoder$ConverterSD.implRead(StreamDecoder.java(Compiled Code))
at sun.nio.cs.StreamDecoder.read(StreamDecoder.java(Compiled Code))
at java.io.InputStreamReader.read(InputStreamReader.java(Compiled Code))
at java.io.BufferedReader.fill(BufferedReader.java(Compiled Code))
at java.io.BufferedReader.read1(BufferedReader.java(Compiled Code))
at java.io.BufferedReader.read(BufferedReader.java(Compiled Code))
This problem occurs regardless of file size and even if Safari is told to report itself as firefox. This problem has not once occurred with any of IE 5,6 or 7 or Firefox 1.* and 2.*
I have not been able to test this with Safari 3 Beta for Mac or Windows.
Environment:
Client is Mac OS-X 10.4.10 with Safari: 2.0.4
Server is Websphere 5.1Since a few hours, I have the same problem like you. I uninstalled Firefox, because I thought it was a problem with it, but then i started Safari to redownload Firefox and guess what happened.. nothing. I can't download anything. don't know why. does anyone know whats wrong??
Maybe you are looking for
-
Can the new intel Mac's run Panther?
Thanks, SP
-
Access a dll file for an oracle adf app deployed on weblogic on linux box
Hi: My department is trying to move an oracle adf application from oracle application server to weblogic 10.3 application server. After trying for a few weeks, everything looks fine except that the application is not able to access a dll file. For th
-
How to integrate two codes ?
A.java class A public static void main(String args[]) System.out.println("hello"); // code Format.java import java.util.*; class Format public static void main(String args[]) System.out.println("hi"); // code how to integrate two codes ?
-
Unable to sign a document using latest adobe reader.
Hi guys, I've never had to sign a document using reader before so I'm really lost. I've downloaded the latest adobe reader version and created an adobe account. The form is enabled for reader and signatures as far as I can tell. I'm logged in while t
-
Hi all, I want to protect or hide a field that appear in the selection screen of the VL10A. I 'have look for a solution "around" the User Role or the Scenario, I suppose the solution is there but I can't find the right way. Thanks for your help.